Rust标准库的共享库和静态库在哪里?

时间:2018-11-22 18:42:33

标签: rust dynamic-linking

我正尝试使用动态链接来编译Rust项目,以减小大小并为应用程序提供.so(或Windows上的.dll)文件,就像Qt在Android上一样。我读了Why are Rust executables so huge?并使用

进行了编译
cargo rustc  -- -C prefer-dynamic

运行程序时,出现此错误:

 % target/debug/t_pro 
target/debug/t_pro: error while loading shared libraries: libstd-a021829e87e39dcf.so: cannot open shared object file: No such file or directory

2 个答案:

答案 0 :(得分:5)

我有一个answer on Reddit

rustc --print=sysroot

就我而言,.so文件位于/home/username/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib中,.rlib位于/home/username/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib中。

答案 1 :(得分:1)

库会安装在选择安装Rust的任何位置。我在macOS上使用rustup,所以对我来说它们安装在~/.rustup/toolchains/*whatever*/lib/中。

使用操作系统的工具搜索特定名称的文件。

另请参阅: