为什么安装ARM交叉编译器 ?
1、架构不同:
Linux PC (Intel/AMD) 通常是 x86/x86_64 架构。
如树莓派、手机、路由器、IoT设备…是 ARM 架构。
不同架构的 CPU 指令集不同,直接编译的程序无法跨架构运行
2、交叉编译的作用:
交叉编译器(如 arm-linux-gnueabihf-gcc)运行在 x86 主机上,但生成 ARM 架构的可执行文件。
这样就可以在 PC 上快速编译,然后将二进制文件复制到 ARM 设备上运行。
3.为什么不用ARM设备直接编译?
ARM 设备(尤其是嵌入式设备)通常计算资源有限(CPU慢、内存小)。
在 PC 上交叉编译速度更快,且不影响目标设备的运行性能。
开发环境(编辑器、工具链)在 PC 上更完善。
安装方法一:从APT仓库安装(推荐初学者)
1、安装ARM交叉编译器(Ubuntu官方版)
sudo aptupdate
sudo apt installgcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
2、验证安装
arm-linux-gnueabihf-gcc--version
arm-linux-gnueabihf-g++--version
3、其他有用工具(ARM 交叉编译的二进制工具集,创建、管理和操作二进制文件)
sudo apt installbinutils-arm-linux-gnueabihf
安装方法二:安装Linaro GCC(Linaro版,更专业)
下载 Linaro GCC(ARM官方合作),以gcc-linaro-7.5.0为例:
1、 cd ~ 切换到用户目录,然后输入下面的命令,下载压缩包
wget https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/arm-linux-gnueabihf/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz
2、 解压到/opt
sudo tar -xfgcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz-C/opt
3、添加到PATH
echo 'export PATH=/opt/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin:$PATH'>>~/.bashrc
source~/.bashrc
4、 验证
arm-linux-gnueabihf-gcc--version
查找编译器安装位置:
查找所有同名的编译器(按PATH顺序): which -a arm-linux-gnueabihf-gcc
查找 ARM 交叉编译器(只显示PATH中优先级最高的): which arm-linux-gnueabihf-gcc
查找对应的 C++ 编译器: which arm-linux-gnueabihf-g++