This page looks best with JavaScript enabled

Mac 为 Linux 交叉编译 Rust 程序

 ·  ☕ 1 min read

默认情况下,Rust 将静态链接所有 Rust 代码。但是,如果使用标准库,它将动态链接到系统的 libc

如何想要 100% 静态二进制文件。可以使用 MUSL libc 提供的 Linux-based 支持。

在 Mac 上进行交叉编译

目标是编译 x86_64-unknown-linux-musl 平台的 Rust 程序。

Install MUSL support

1
 brew install FiloSottile/musl-cross/musl-cross

用 rustup 添加目标 target :

1
rustup target add x86_64-unknown-linux-musl

$HOME/.cargo/config 中设置 linker

1
2
[target.x86_64-unknown-linux-musl]
linker = "x86_64-linux-musl-gcc"

Building with MUSL

1
cargo build --release --target x86_64-unknown-linux-musl

参考:

Share on

Serendipity
WRITTEN BY
Serendipity
iOS/Golang/Rust

What's on this Page