c++ - 为 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 使用哪个编译器?
解决方案
您可以使用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 上运行它们。
推荐阅读
- python - 运行类的每个方法后修改实例变量的最佳方法?
- dart - Dart - 如何将变量设置为一些特定选项的字符串类型?
- c# - 如何使用 Kestrel 对简单的 Web 服务进行复制并运行部署?
- arrays - 是否有一种有效的算法可以仅从字符串数组中提取包含特定子字符串的字符串?
- aws-lambda - 如何使用无服务器框架从 AWS Lambda 向 AppSync GraphQL API 发送查询请求?
- python - 遍历字符串的 xlsx 列以在 python 中进行比较和匹配
- jquery - jquery在加载页面之前替换html标签
- python - 尝试向数据框列的值添加前缀时出现 ValueError
- shared-memory - 在 Cloud Run 中将共享缓存对象存储在哪里?
- forms - 访问:你真的需要使用子表单吗?