使用在Rust中创建一个基本的Web服务并使用Rustup将Rust作为文档,我已经设法使用Rust成功编译64位静态二进制文件:
rustup target add x86_64-unknown-linux-musl
cargo build --target=x86_64-unknown-linux-musl
Run Code Online (Sandbox Code Playgroud)
但我似乎无法找到如何构建32位静态二进制文件.
我确实i686-unknown-linux-musl在运行时找到了一个目标rustc --print target-list,但发现它在运行时不可用rustup target list.
我错过了什么或者不可能吗?
std二进制文件i686-unknown-linux-musl仅适用于Rust 1.10或更高版本.您可以i686使用以下命令创建静态二进制文件:
$ rustup default stable # stable must at least 1.10
$ rustup target add i686-unknown-linux-musl
$ cargo build --target i686-unknown-linux-musl
Run Code Online (Sandbox Code Playgroud)
生成的二进制文件可以在target/i686-unknown-linux-musl/debug/或上找到target/i686-unknown-linux-musl/release/.
我们可以检查生成的二进制文件是否静态链接ldd:
$ ldd target/i686-unknown-linux-musl/debug/main
not a dynamic executable
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2363 次 |
| 最近记录: |