51 个版本
0.17.3 | 2024 年 7 月 23 日 |
---|---|
0.17.0 | 2024 年 6 月 13 日 |
0.16.4 | 2024 年 2 月 1 日 |
0.16.3 | 2023 年 12 月 20 日 |
0.7.1 | 2022 年 3 月 11 日 |
#25 in 构建工具
61,546 每月下载量
用于 maturin
43KB
886 行
cargo-xwin
之前名为 cargo-xwinbuild
🚀 通过在 GitHub 上赞助我,帮助我成为全职开源开发者 赞助我
轻松将 Cargo 项目交叉编译为 Windows msvc 目标。
通过使用此软件,您同意接受位于 https://go.microsoft.com/fwlink/?LinkId=2086102 的许可证。
先决条件
- 对于纯 Rust 项目,无需先决条件。
- 对于 C/C++ 依赖项,安装 clang(在 macOS 上运行
brew install llvm
即可)。 - 对于汇编依赖项,通过
rustup component add llvm-tools-preview
安装llvm-tools-preview
组件或安装 llvm。
安装
cargo install --locked cargo-xwin
您也可以使用 pip 进行安装
pip install cargo-xwin
我们还提供了一个 Docker 镜像,其中预装了 wine、cargo-xwin 和 Rust,例如用于构建 x86_64 Windows。
docker run --rm -it -v $(pwd):/io -w /io messense/cargo-xwin \
cargo xwin build --release --target x86_64-pc-windows-msvc
用法
- 使用 rustup 安装 Rust Windows msvc 目标,例如,
rustup target add x86_64-pc-windows-msvc
- 运行
cargo xwin build
,例如,cargo xwin build --target x86_64-pc-windows-msvc
使用 wine 运行测试
安装 wine 后,您可以使用 cargo xwin test
命令运行测试,例如,cargo xwin test --target x86_64-pc-windows-msvc
自定义
可以使用以下环境变量或命令行选项来自定义 Microsoft CRT 和 Windows SDK。
环境变量 | 命令行选项 | 描述 |
---|---|---|
XWIN_ARCH |
--xwin-arch |
要包含的架构,默认为 x86_64,aarch64 ,可能值:x86, x86_64, aarch, aarch64 |
XWIN_VARIANT |
--xwin-variant |
要包含的变体,默认为 desktop ,可能值:desktop, onecore, spectre |
XWIN_VERSION |
--xwin-version |
要检索的版本,默认为 16,可以是 15 或 16 的主版本,或 <major>.<minor> 版本 |
XWIN_CACHE_DIR |
--xwin-cache-dir |
xwin 缓存目录,用于存放 CRT 和 SDK 文件 |
XWIN_INCLUDE_DEBUG_LIBS |
--xwin-include-debug-libs |
是否在安装中包含调试库(默认为 false)。 |
CMake 支持
一些 Rust crate 使用 cmake crate 来构建 C/C++ 依赖项,cargo-xwin 将自动生成 CMake 工具链 文件,以便交叉编译能够直接使用。
ninja 是必需的 以启用 CMake 支持。
许可协议
本作品采用 MIT 许可协议发布。许可协议的副本可在 LICENSE 文件中找到。
依赖项
~22–41MB
~709K SLoC