127 个稳定版本
1.0.126 | 2024年8月15日 |
---|---|
1.0.124 | 2024年6月14日 |
1.0.120 | 2024年3月23日 |
1.0.111 | 2023年12月17日 |
0.3.4 | 2020年5月22日 |
#52 in 构建工具
852,738 每月下载量
在 310 个 crate 中使用 (129 直接使用)
375KB
10K SLoC
CXX 代码生成器,用于构建和编译 C++ 代码。
此工具旨在从 Cargo 构建脚本中执行 CXX 的 C++ 代码生成器,根据用例设置任何额外的编译器标志,并调用 C++ 编译器。
示例
构建 CXX 桥接的规范 Cargo 构建脚本的示例
// build.rs
fn main() {
cxx_build::bridge("src/main.rs")
.file("src/demo.cc")
.std("c++11")
.compile("cxxbridge-demo");
println!("cargo:rerun-if-changed=src/main.rs");
println!("cargo:rerun-if-changed=src/demo.cc");
println!("cargo:rerun-if-changed=include/demo.h");
}
包含此构建脚本的可运行工作设置显示在 https://github.com/dtolnay/cxx 的 demo 目录中。
替代方案
对于 Bazel 或 Buck 等非 Cargo 构建,CXX 提供了一种调用 C++ 代码生成器作为独立命令行工具的替代方式。此工具作为 cxxbridge-cmd
crate 打包。
$ cargo install cxxbridge-cmd # or build it from the repo
$ cxxbridge src/main.rs --header > path/to/mybridge.h
$ cxxbridge src/main.rs > path/to/mybridge.cc
依赖项
~0.9–8.5MB
~64K SLoC