当你使用CC、rust_bindgen之后,你的封装的依赖库仍然用不起来,或找不到相应的.so文件,你需要注意一下
1、在CC对应项目下的build.rs
注意“=“后面不能出现空格!
use std::env;
use std::path::PathBuf;
fn main() {
cc::Build::new()
.file("../ctp_bind/src/bridge/bridge.cpp")
.cpp(true)
.warnings(false)
.flag("-std=c++11")
.compile("bridge");
println!("cargo:rustc-link-lib=thostmduserapi_se");// “=”后面不能有空格
println!("cargo:rustc-link-lib=thosttraderapi_se");// “=”后面不能有空格
}
2、注意加”lib“
Ctp中 linux环境中,依赖原库文件thostmduserapi_se.so 、thosttraderapi_se.so,需要把这两个文件拷到/usr/local/lib/下。
这个没有问题。
但是需要注意:
(1)改名,前缀加上”lib“
thostmduserapi_se.so => libthostmduserapi_se.so
thosttraderapi_se.so =>libthosttraderapi_se.so
(2) 运行sudo ldconfig命令