我的任务是向包含多个交叉工具的现有 Docker 映像添加交叉编译器。
从我们现有的 Dockerfile 中,我看到它apt-get install -y --no-install-recommends build-essential
具有安装及其关联的二进制文件/工具链的效果/usr/bin/x86_64-linux-gnu-g++
(抱歉:我的术语可能缺乏)。
类似地,似乎具有安装及其相关二进制文件/工具链apt-get install -y --no-install-recommends crossbuild-essential-arm64
的效果。/usr/bin/aarch64-linux-gnu-g++
是否有一个apt-get install
命令可以类似地安装armr5-none-eabi-g++
及其关联的二进制文件/工具链?
在网上和各种 Stack Exchange 上搜索,我看到了有关安装的参考,但我认为这与(?)arm-none-eabi-g++
不同, 即使两者在功能上是等效的,我更喜欢专门安装的解决方案。armr5-none-eabi-g++
armr5-none-eabi-g++
Dockerfile 基础镜像是debian:10.3-slim
.
答案1
如果你想使用Debian软件包(对应ARM工具链),你应该安装gcc-arm-none-eabi
它为 32 位 ARM 提供 C 和 C++ 交叉编译器,包括 Cortex-R 处理器:
apt-get install -y --no-install-recommends gcc-arm-none-eabi
C++ 的编译器命令将为arm-none-eabi-g++
.
如果你需要STL,你还应该安装libstdc++-arm-none-eabi-newlib
:
apt-get install -y --no-install-recommends libstdc++-arm-none-eabi-newlib
armr5-none-eabi-g++
在 Xilinx SDK 中可用;现在相关的 SDK 似乎是 Vitis。对于容器映像,您可能最好使用完整的统一安装程序存档来安装它。 (我还没有尝试过这个,所以我无法确认它armr5-none-eabi
是否包含在当前版本中。)