Skip to content

Commit 110df7d

Browse files
committed
Defer to link-cplusplus crate for linking a standard library
1 parent d24563d commit 110df7d

File tree

3 files changed

+5
-1
lines changed

3 files changed

+5
-1
lines changed

build.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ fn main() {
22
cc::Build::new()
33
.file("src/cxx.cc")
44
.cpp(true)
5+
.cpp_link_stdlib(None) // linked via link-cplusplus crate
56
.flag("-std=c++11")
67
.compile("cxxbridge03");
78
println!("cargo:rerun-if-changed=src/cxx.cc");

demo-rs/build.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
fn main() {
22
cxx_build::bridge("src/main.rs")
33
.file("../demo-cxx/demo.cc")
4-
.cpp(true)
54
.flag("-std=c++11")
65
.compile("cxxbridge-demo");
76

gen/build/src/lib.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,12 +88,16 @@ pub fn bridge(rust_source_file: impl AsRef<Path>) -> cc::Build {
8888
/// ```
8989
pub fn bridges(rust_source_files: impl IntoIterator<Item = impl AsRef<Path>>) -> cc::Build {
9090
let mut build = paths::cc_build();
91+
build.cpp(true);
92+
build.cpp_link_stdlib(None); // linked via link-cplusplus crate
93+
9194
for path in rust_source_files {
9295
if let Err(err) = try_generate_bridge(&mut build, path.as_ref()) {
9396
let _ = writeln!(io::stderr(), "\n\ncxxbridge error: {:?}\n\n", anyhow!(err));
9497
process::exit(1);
9598
}
9699
}
100+
97101
build
98102
}
99103

0 commit comments

Comments
 (0)