摘译自: Rust on Lambda, 其它参考: Cross-compiling a simple Rust web app、How to Cross-Compile from Mac to Linux on Rust、MUSL support for fully static binaries、Cross-compile and link a static binary on macOS for Linux with cargo and rust
目标是创建 x86_64-unknown-linux-musl
平台的应用程序,通过静态连接musl, 不再依赖glibc库。
在Linux上操作比较简单,执行下面的命令:
|
|
如果在OSX运行,会报下面的错误:
|
|
在macOS使用musl可以通过安装musl-cross-make实现:
|
|
你还需要创建musl-gcc
:
|
|
你还需要设置linker, 创建一个文件.cargo/config
,增加下面的两行:
|
|
然后运行下面的命令进行交叉编译:
|
|