如何为 Raspberry Pi Zero W 交叉编译 Rust 代码

How to cross-compile Rust code for the Raspberry Pi Zero W

我正在尝试将我的 64 位 x86 笔记本电脑上的 Rust 代码交叉编译为 Raspberry Pi Zero W 上的 运行。我使用 Rustup 安装了 arm-unknown-linux-gnueabihf 工具链,但是当我 运行 cargo build --target arm-unknown-linux-gnueabihf 时,我得到这个错误:

Internal error occurred: Failed to find tool. Is arm-linux-gnueabihf-gcc installed?

我尝试安装 arm-linux-gnueabihf-gcc package from AUR,但由于某种 GPG 密钥错误而一直失败,所以我决定使用 crosstool-ng 制作自己的交叉编译器。

我尝试使用 ~/.cargo/config 文件将 Cargo 指向我新建的交叉编译器:

[target.arm-unknown-linux-gnueabihf]
linker = "/home/ibi/x-tools/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-gcc"

但是 Cargo 似乎忽略了这一点并给了我同样的错误。我该如何解决这个问题?

当我设置环境变量时它起作用了:

$ export CC="/home/ibi/x-tools/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-gcc"