Mac OSX中编译成其它平台程序,如:Linux(x86、ARM)、Windows等,需要构建交叉编译工具链,交叉工具链的构建在Mac中是一个痛苦的过程!!!

有人帮我们解决了这个问题,musl-cross-make的出现使我们轻松的实现这个目的,Homebrew中可以直接安装。

brew install FiloSottile/musl-cross/musl-cross --without-x86_64 --with-arm

可通过选项安装支持的目标平台--with-arm,这个选项表示可支持armv7l(pcDuino1)平台,如果你想支持armv7hl(树莓派)请使用--with-arm-hf,还有其它平台-with-i486(x86 32-bit)

完成后程序被安装在/usr/local/Cellar/musl-cross/0.9.8/目录中,相关的执行文件将会比链接到/usr/local/bin/目录中。

Rust中编译armv7l平台执行文件

Rust中添加armv7l支持

rustup target add armv7-unknown-linux-musleabi

将如下内容加入~/.cargo/config文件,就可以了。

[target.armv7-unknown-linux-musleabi]
linker = "arm-linux-musleabi-ld"

生产执行文件

cargo build --target=armv7-unknown-linux-musleabi

[ 编辑 | 历史 ]
最近由“jilili”在“2019-11-21 22:50:25”修改