首页 > 解决方案 > 为 Raspberry Pi 选择交叉编译器

问题描述

寻找可以帮助我在我的 Ubuntu 20.04 机器上为 Raspberry Pi 构建应用程序的交叉编译器。我在 Github 上找到了官方工具,我想该文件夹arm-bcm2708包含交叉编译器:

arm-bcm2708hardfp-linux-gnueabi
arm-bcm2708-linux-gnueabi
arm-linux-gnueabihf -> arm-rpi-4.9.3-linux-gnueabihf
arm-rpi-4.9.3-linux-gnueabihf
gcc-linaro-arm-linux-gnueabihf-raspbian
gcc-linaro-arm-linux-gnueabihf-raspbian-x64

我很困惑目录名称试图告诉我什么?我知道以下单词:

arm - processor type used on Pi
bcm2708 - processor model used on pi
gnueabi - cross-compiler for armel architecture (you can build binary for ARM on PC)
linaro - company that creates multimedia for ARM
4.9.3 - I suppose is GCC compiler version (why it is so old?)

我应该为我的 Pi3 和 Pi4 使用哪个编译器?

标签: c++linuxgccraspberry-piarm

解决方案


您可以使用ARM为您的 RPI3/4 提供的工具链之一。如果您在 RPI3/4 上运行 32 位 Linux,请使用其中一个arm-none-linux-gnueabihf工具链,如果您在 RPI3/4 上运行 64 位 Linux,请使用其中aarch64-none-linux-gnu之一。

这两个工具链的 10.2 和 9.2 版本在我自己的 Ubuntu 20.04.1 LTS x86_64 系统上运行良好。当然,您可以使用工具链交叉编译程序并arm-none-linux-gnueabihf在 RPI3/4 上运行的 64 位 Linux 上运行它们。


推荐阅读