我正在使用Rust、bindgen和build script处理一些到库的FFI绑定.
这个库是使用OpenMP构建的,所以当针对它进行链接时,我通常会将-fopenmp
标志传递给编译器.
当图书馆是由Cargo 建造的时候,我怎么能把这个标志设置为build.rs
?
目前,使用Cargo构建失败,失败的命令如下:
cc -Wl,--as-needed -Wl,-z,noexecstack -m64 -l gomp -l stdc++
...skipping dozens of paths/files...
-Wl,-Bdynamic -l dl -l rt -l pthread -l gcc_s -l c -l m -l rt -l pthread -l util
它失败了,出现了数百个错误.
使用手动添加的-fopenmp
标志重新运行上面生成的命令成功.
我可以在编译之前使用RUSTFLAGS='-C link-args=-fopenmp'
指定标志,但是有没有办法从build.rs
中指定它?