Di manakah perpustakaan bersama dan statis dari perpustakaan standar Rust?

Saya mencoba mengkompilasi proyek Rust saya dengan tautan dinamis untuk mengurangi ukuran dan menyediakan file .so (atau .dll di Windows) dengan aplikasi seperti yang dilakukan Qt untuk Android. Saya membaca Mengapa executable Rust begitu besar? dan dikompilasi dengan

cargo rustc  -- -C prefer-dynamic

Ketika saya menjalankan program saya, saya mendapatkan kesalahan ini:

 % 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

person    schedule 22.11.2018    source sumber
comment
Harap berikan informasi tambahan: program apa yang Anda coba buat? Versi kompiler yang mana, rantai alat yang mana, dan OS host yang mana?   -  person E_net4 the curator    schedule 22.11.2018
comment
Sebagian besar sistem operasi dilengkapi dengan alat untuk mencari file dengan nama tertentu di hard drive. Sudahkah Anda mencoba salah satunya?   -  person Shepmaster    schedule 23.11.2018


Jawaban (2)


Pustaka dipasang di mana pun Anda memilih untuk memasang Rust. Saya menggunakan rustup di macOS, jadi diinstal di ~/.rustup/toolchains/*whatever*/lib/ untuk saya.

Gunakan alat sistem operasi Anda untuk mencari file dengan nama tertentu.

Lihat juga:

person Shepmaster    schedule 22.11.2018

Saya mendapat jawaban di Reddit.

rustc --print=sysroot

Dalam kasus saya, file .so ada di /home/username/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib dan .rlib ada di /home/username/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib.

person 尤金寶 漢子    schedule 23.11.2018
comment
export LD_LIBRARY_PATH+=:$(rustc --print=sysroot)/lib bekerja sempurna untuk saya - person Tinmarino; 17.03.2021