Ubuntu安装交叉编译工具

两种安装方式

1.从网站下载直接编译工具

一般在linaro或GNU的网站下载

http://releases.linaro.org/components/toolchain/binaries/

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads

根据自身需求选择编译器下载,类似 gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu.tar.xz 这种文件名

gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu.tar.xz
编译器- 工具厂商linaro- 版本6.5.0 - 日期 - 使用平台x86 _目标平台arm64
gcc-linaro-6.5.0-2018.12-x86_64_arm-linux-gnueabihf.tar.xz
编译器- 工具厂商linaro- 版本6.5.0 - 日期 - 使用平台x86 _目标平台arm32硬浮点
gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz
编译器- arm- 版本10.2 - 日期 - 使用平台x86 _目标平台arm64

将工具解压,一般放至/usr/local/目录下。

设置环境变量,可以设置在/etc/profile或用户目录下的.bashrc文件

#根据自己放置的路径,在文件最后添加,路径为工具文件夹下一级的bin目录,重新登陆后生效
export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/

2.在命令行安装

#不指定版本安装gcc和g++交叉编译工具
sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

#指定安装最新的6.xx版本,应该是6.5.0,要安装中间小版本只能去下载编译器的压缩包
sudo apt install gcc-6-aarch64-linux-gnu g++-6-aarch64-linux-gnu

ubuntu编译器切换版本

如果是使用apt或dpkg安装的软件,可用update-alternatives切换版本

#将需要切换的编译器注册候选,并设置优先级(数字越大优先级越高)
--install <link> <name> <path> <priority>
    [--slave <link> <name> <path>] ...

#使用--slave将g++和gcc绑定至一块,改动gcc时g++的版本也会随之改变
sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-gcc aarch64-gcc /usr/bin/aarch64-linux-gnu-gcc-7 50 --slave /usr/bin/aarch64-linux-gnu-g++ aarch64-g++ /usr/bin/aarch64-linux-gnu-g++-7
sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-gcc aarch64-gcc /usr/bin/aarch64-linux-gnu-gcc-6 30 --slave /usr/bin/aarch64-linux-gnu-g++ aarch64-g++ /usr/bin/aarch64-linux-gnu-g++-6

#查看、切换当前使用的版本,设置后重启后仍然生效
#会弹出注册过<name>的软件
sudo update-alternatives --config aarch64-gcc

如果是下载的编译器压缩包解压的

修改环境变量的路径
posted @   WuYunTaXue  阅读(3383)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示