CTP:rust封装找不到thostmduserapi_se、thosttraderapi_se问题

当你使用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/ 和/usr/lib下。
这个没有问题。
CTP:rust封装找不到thostmduserapi_se、thosttraderapi_se问题_第1张图片但是需要注意:
(1)改名,前缀加上”lib“
thostmduserapi_se.so => libthostmduserapi_se.so
thosttraderapi_se.so =>libthosttraderapi_se.so

(2) 运行sudo ldconfig命令

你可能感兴趣的:(Rust,CTP,API,1024程序员节)