大家好,我构建了一套交叉编译工具链,支持在 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 23 小时 57 分钟前
官方竟然没有吗
还是喜欢 go 的交叉编译 |
2
zijiren OP @dianso go 交叉构建挺简单的,但是 cgo 就比较麻烦了,也是类似的思路: https://github.com/zijiren233/go-cross
只不过 cgo 的交叉构建我有段时间没维护了,没有 cargo-cross 功能多 |
3
iorilu 23 小时 45 分钟前
唯独 windows 不能编译 macos 吗
|
5
encro 11 小时 3 分钟前
不是本来就支持吗?
|
6
Riddler2023 10 小时 2 分钟前
|
7
zijiren OP @Riddler2023 我写的这个不需要 docker ,并且使用最新工具链 gcc15.2 以及支持多种 glibc 版本
|
9
ljkgpxs 9 小时 15 分钟前
刚好最近在做自动化编译多平台,我来试试,顺便问下,有没有办法支持编译 x86_64-win7-windows ,目前我都是手动使用 cargo +nightly build --target x86_64-win7-windows-msvc -Zbuild-std --release 编译,发布版本有点麻烦,还得自己打包
|
10
lete 8 小时 53 分钟前
牛的,看上去不错 star
|
11
ljkgpxs 8 小时 53 分钟前
有没有考虑增加 glibc 2.17 版本,用来编译动态库,我这接触的不少企业还都在用 centos7
|
12
mlhiter955 8 小时 39 分钟前
有点意思哈
|
15
Al0rid4l 6 小时 49 分钟前
|
18
pursuer 3 小时 45 分钟前
我现在想找个 windows 下交叉编译 Linux 的 SYSROOT ,不知道有没有现成的,懒得自己去折腾。。
|
19
zijiren OP @pursuer 那比较麻烦,可以先从下载一个交叉构建器起手😂: https://github.com/zijiren233/cross-make/releases/tag/v0.7.4-windows-x86_64
|
20
chengYT 2 小时 2 分钟前
和 zig-build 比呢,我现在在用这个
|