我想在macOS上将我的Rust应用程序交叉编译为Raspberry Pi 2.我搜索了很多,但没有找到可行的解决方案 . 我尝试的最后一个解决方案是关注answer,但我无法让它工作 .

  • macOS版本:10.13.5(High Sierra)

  • rustup版本:1.11.0

  • 货运版:1.26.0

我做了什么:

  • 我克隆了raspberrypi/tools

  • 通过rustup安装 arm-unknown-linux-gnueabihfarmv7-unknown-linux-gnueabihf 工具链

  • 在项目的根目录中创建了 .cargo/config 文件,其中包含以下内容

[target.armv-unknown-linux-gnueabihf]
linker = "/Users/user/Documents/Programming/RustProjects/hello-pi/../../Utils/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc"
  • 然后我跑 cargo build --target=arm-unknown-linux-gnueabihf

我收到以下错误:

linking with /Users/user/Documents/Programming/RustProjects/hello-pi/../../Utils/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc failed: exit code: 126
....
cannot execute binary file

似乎我无法在我的macOS机器上运行 ...gcc 二进制文件 . 将我的Rust应用程序从macOS交叉编译为Raspberry Pi 2的ARM体系结构的正确方法是什么?