在build.rs
的{{1}}板条箱中,我有:
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
的创建,
然后有level1-sys
个二进制板条箱。
如果我通过level3
运行此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
的几次重建之后,也有几个level1-sys
库,例如:
libsomelib.so