簡體   English   中英

如何讓我的 Rust 程序鏈接到另一個 glibc?

[英]How can I make my Rust program link to another glibc?

我有一個用於i686-linux-unknown-gnucrosstool-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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM