赞
踩
之前我没有试过 C++ 之外的交叉编译环境,以前在用 C++ 开发游戏的时候,会把逻辑代码用 Android Studio 编译出安卓版本,以及使用 iOS 的 toolchain 编译成 iOS 的版本。
假如没有对应的 toolchain 的话,我可能也就束手无策了,我还没折腾过用 https://github.com/richfelker/musl-cross-make 这个工具进行交叉编译,不过今天在学 Rust 的时候,发现交叉编译 Rust 程序的步骤非常简单,就先记在这里。
这里我只用 macOS 来示范,因为今天只在这个平台上试过。
安装链接器
musl-cross 似乎是在链接时候起作用的(不知道我这个说法对不对)。
首先通过 brew 安装 musl-cross 工具,其中 musl-cross 是用来专门编译到 linux 的工具链,而 mingw-w64 是用来编译到 windows 的工具链。根据你的目标平台自己装一个就好。
$brew install FiloSottile/musl-cross/musl-cross
$brew install mingw-w64
我装的是 musl-cross,装好后到 ~/.cargo/config 文件中添加上:
[target.x86_64-unknown-linux-musl]
linker = "x86_64-linux-musl-gcc"
注意一下等于号后面跟的是 x86_64-linux-musl-gcc。
rustup 配置
rustup 是 Rust 的包管理工具,用它来配置工具链可以很省心。
运行 rustup targ
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。