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

lap*_*tou 3 linux arm cross-compiling rust raspberry-pi

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

发生内部错误:找不到工具。是否已arm-linux-gnueabihf-gcc安装?

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

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

[target.arm-unknown-linux-gnueabihf]
linker = "/home/ibi/x-tools/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-gcc"
Run Code Online (Sandbox Code Playgroud)

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

lap*_*tou 6

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

$ export CC="/home/ibi/x-tools/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-gcc"
Run Code Online (Sandbox Code Playgroud)