gpt4 book ai didi

rust - 如何让我的 Rust 程序链接到另一个 glibc?

转载 作者:行者123 更新时间:2023-11-29 08:06:19 25 4
gpt4 key购买 nike

我有一个用于 i686-linux-unknown-gnucrosstool-ng 工具链,这个工具链包含一个与我的主机中安装的不同的 glibc。

我的 libc.so.6 的路径是:

~/x-tools/i686-unknown-linux-gnu/i686-unknown-linux-gnu/sysroot/lib

我如何告诉 Cargo 链接到这个目录中的 glibc 而不是系统目录中的 glibc?

我已经尝试过 LD_LIBRARY_PATH,但它不起作用。

有效的方法是在我的 .cargo/config 文件中设置:

[target.i686-unknown-linux-gnu]
linker = "i686-unknown-linux-gnu-gcc"

但这会将我的程序与 GCC 工具链而不是 Clang 链接起来。我想使用 Clang 并只链接到不同的 glibc。

最佳答案

正如 kennytm 所指出的,我可以使用 .cargo/config 通过使用 sysroot 参数来判断新的 glibc 在哪里:

[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 的路径。

我仍然认为这不是最实用的方法,但我不知道更好的方法..

关于rust - 如何让我的 Rust 程序链接到另一个 glibc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41901024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com