关于交叉编译
一般编程阶段用的是Windows或者Mac系统,部署平台是Linux,这种情况下就需要使用Cross-Compiler交叉编译,意思是可以在当前平台Host下编译出目标平台target的可执行文件,
尤其是做ARM平台开发的同学对这个更为熟悉。
Rust交叉编译在Github上有一个文档Rust核心员工Jorge Aparicio提供的一份文档https://github.com/japaric/rust-cross,推荐大家仔细的读一读。
如果要求比较简单,都是X86_64架构,从Mac上编译出x86_64-unknown-linux-musl就好。
mac上执行
rustup target add x86_64-unknown-linux-musl
安装musl-cross
brew install filosottile/musl-cross/musl-cross
配置和打包编译
配置config
vi ~/.cargo/config(没有新建即可,另外可在项目根目录下创建.cargo/config文件,只对当前项目生效)
添加内容如下:
[target.x86_64-unknown-linux-musl] linker = "x86_64-linux-musl-gcc"
cargo new cross-compiling