在里面
build.rs
属于
level1-sys
我有:
let dst = cmake::Config::new(Path::new("somelib"))
.build()
.join("build");
println!("cargo:rustc-link-search=native={}", dst.display());
println!("cargo:rustc-link-lib=dylib=somelib");
还有
level2
创建依赖于
一级系统
,
还有
level3
二元板条箱。
如果我运行这个
三级
板条箱通过
cargo run
一切正常,
但如果我用手操作它,它会报告:
error while loading shared libraries: libsomelib.so: cannot open shared object file: No such file or directory
有没有办法找到通往
libsomelib.so
从…起
cargo
?
我需要这个信息的外部脚本,应该包二进制。
显然我可以搜索
target
子目录,
但我使用调试/发布/交叉编译等等。
甚至对于混凝土变体,比如
target/release
经过几次重建
一级系统
有几个
libsomelib。所以
图书馆,比如:
target/release/build/level1-sys-46422ddc8585ba79/libsomelib.so
target/release/build/level1-sys-9daa760ee41fe7b8/libsomelib.so