大家好,我构建了一套交叉编译工具链,支持在 Windows 、macOS 或 Linux 上为其他平台构建二进制文件,且无需 WSL 、Docker 或 Colima 。
例如,你可以在 Windows 机器上构建可在 Linux 上运行的可执行程序。
用法很简单:
cargo install cargo-cross
cargo cross build --target x86_64-unknown-linux-musl
cargo cross build --target x86_64-unknown-linux-glibc --glibc-version 2.42
cargo cross build --target x86_64-pc-windows-gnu
支持:
windows 构建到 windows/linux/freebsd/android
linux 构建到 windows/linux/macos/ios/freebsd/android
macos 构建到 windows/linux/macos/ios/freebsd/android
你还可以选择使用的是 glibc 还是 musl libc ,甚至可以选择 glibc 版本(支持 2.28-2.42 )
项目地址: https://github.com/zijiren233/cargo-cross
求 star
1
dianso 19 小时 16 分钟前
官方竟然没有吗
还是喜欢 go 的交叉编译 |
2
zijiren OP @dianso go 交叉构建挺简单的,但是 cgo 就比较麻烦了,也是类似的思路: https://github.com/zijiren233/go-cross
只不过 cgo 的交叉构建我有段时间没维护了,没有 cargo-cross 功能多 |
3
iorilu 19 小时 4 分钟前
唯独 windows 不能编译 macos 吗
|
5
encro 6 小时 22 分钟前
不是本来就支持吗?
|
6
Riddler2023 5 小时 21 分钟前
|
7
zijiren OP @Riddler2023 我写的这个不需要 docker ,并且使用最新工具链 gcc15.2 以及支持多种 glibc 版本
|
9
ljkgpxs 4 小时 34 分钟前
刚好最近在做自动化编译多平台,我来试试,顺便问下,有没有办法支持编译 x86_64-win7-windows ,目前我都是手动使用 cargo +nightly build --target x86_64-win7-windows-msvc -Zbuild-std --release 编译,发布版本有点麻烦,还得自己打包
|
10
lete 4 小时 13 分钟前
牛的,看上去不错 star
|
11
ljkgpxs 4 小时 12 分钟前
有没有考虑增加 glibc 2.17 版本,用来编译动态库,我这接触的不少企业还都在用 centos7
|
12
mlhiter955 3 小时 58 分钟前
有点意思哈
|
15
Al0rid4l 2 小时 8 分钟前
|