ไลบรารีแบบแบ่งใช้และแบบคงที่ของไลบรารีมาตรฐาน Rust อยู่ที่ไหน

ฉันกำลังพยายามรวบรวมโปรเจ็กต์ Rust ของฉันด้วยการเชื่อมโยงแบบไดนามิกเพื่อลดขนาดและจัดเตรียมไฟล์ .so (หรือ .dll บน Windows) ด้วยแอปพลิเคชันเหมือนกับที่ Qt ทำสำหรับ Android ฉันอ่าน เหตุใดโปรแกรมสั่งการของ Rust ถึงมีขนาดใหญ่มาก และคอมไพล์ด้วย

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

person    schedule 22.11.2018    source แหล่งที่มา
comment
โปรดให้ข้อมูลเพิ่มเติม: คุณพยายามสร้างโปรแกรมอะไร คอมไพเลอร์เวอร์ชันใด toolchain ใด และระบบปฏิบัติการโฮสต์ใด   -  person E_net4 the curator    schedule 22.11.2018
comment
ระบบปฏิบัติการส่วนใหญ่มาพร้อมกับเครื่องมือสำหรับค้นหาไฟล์ที่มีชื่อเฉพาะในฮาร์ดไดรฟ์ คุณได้ลองหนึ่งในนั้นแล้วหรือยัง?   -  person Shepmaster    schedule 23.11.2018


คำตอบ (2)


ไลบรารีจะถูกติดตั้งทุกที่ที่คุณเลือกที่จะติดตั้ง Rust ฉันใช้ rustup บน macOS ดังนั้นจึงได้รับการติดตั้งใน ~/.rustup/toolchains/*whatever*/lib/ สำหรับฉัน

ใช้เครื่องมือของระบบปฏิบัติการของคุณเพื่อค้นหาไฟล์ที่มีชื่อเฉพาะ

ดูสิ่งนี้ด้วย:

person Shepmaster    schedule 22.11.2018

ฉันได้รับคำตอบใน 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

person 尤金寶 漢子    schedule 23.11.2018
comment
export LD_LIBRARY_PATH+=:$(rustc --print=sysroot)/lib ทำงานได้สมบูรณ์แบบสำหรับฉัน - person Tinmarino; 17.03.2021