[英]How can I make my Rust program link to another glibc?
我有一個用於i686-linux-unknown-gnu
的crosstool-ng
工具鏈,該工具鏈包含的 glibc 與我主機中安裝的 glibc 不同。
我的libc.so.6
的路徑是:
~/x-tools/i686-unknown-linux-gnu/i686-unknown-linux-gnu/sysroot/lib
如何告訴 Cargo 鏈接到位於此目錄中的 glibc 而不是系統目錄?
我已經嘗試過LD_LIBRARY_PATH
,但它不起作用。
有效的是在我的.cargo/config
文件中設置:
[target.i686-unknown-linux-gnu]
linker = "i686-unknown-linux-gnu-gcc"
但這將我的程序與 GCC 工具鏈而不是 Clang 聯系起來。 我想使用 Clang 並鏈接到不同的 glibc。
作為kennytm指出的那樣,我可以使用.cargo/config
到分不清哪里是新glibc
使用sysroot
參數:
[target.i686-unknown-linux-gnu]
rustflags = ["-C", "link-args=--sysroot=/home/ebarreto/x-tools/i686-unknown-linux-gnu/i686-unknown-linux-gnu/sysroot"]
--sysroot
參數將包含自定義glibc
所在的--sysroot
的路徑。
我仍然認為這不是最實用的方法,但我不知道更好的方法..
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.