gpt4 book ai didi

linux - 无法将库目录添加到 ld

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:55:25 24 4
gpt4 key购买 nike

我在家里创建了自己的库目录 (/home/mathieu/lib)。我在这个目录中有一个名为 libmath.so 的库。要将此目录添加到 ld,我已将路径添加到文件 /etc/ld.so.conf 中。我通过执行 sudo ldconfig 重新加载了缓存。当我执行 sudo ldconfig -p | grep libmath.so 我得到 libmath.so (libc6) =>/home/mathieu/lib/libmath.so。所以它有效。

问题

当我执行 ld -lmath 时,我得到:

attempt to open /usr/i486-linux-gnu/lib32/libmath.so failed
attempt to open /usr/i486-linux-gnu/lib32/libmath.a failed
attempt to open /usr/local/lib32/libmath.so failed
attempt to open /usr/local/lib32/libmath.a failed
attempt to open /lib32/libmath.so failed
attempt to open /lib32/libmath.a failed
attempt to open /usr/lib32/libmath.so failed
attempt to open /usr/lib32/libmath.a failed
attempt to open /usr/local/lib/i386-linux-gnu/libmath.so failed
attempt to open /usr/local/lib/i386-linux-gnu/libmath.a failed
attempt to open /usr/local/lib/libmath.so failed
attempt to open /usr/local/lib/libmath.a failed
attempt to open /lib/i386-linux-gnu/libmath.so failed
attempt to open /lib/i386-linux-gnu/libmath.a failed
attempt to open /lib/libmath.so failed
attempt to open /lib/libmath.a failed
attempt to open /usr/lib/i386-linux-gnu/libmath.so failed
attempt to open /usr/lib/i386-linux-gnu/libmath.a failed
attempt to open /usr/lib/libmath.so failed
attempt to open /usr/lib/libmath.a failed
ld: cannot find -lmath

ld 甚至不在 /home/mathieu/lib 路径中寻找。

gcc test.c -o test -lmath返回

/usr/bin/ld: cannot find -lmath
collect2: error: ld returned 1 exit status

你有解决办法吗?

谢谢。

最佳答案

可以使用LIBRARY_PATH添加gcc编译时搜索的目录,

export LIBRARY_PATH=$HOME/lib

或者,您可以将库添加到 -L 命令行标志以 gcc 就像

gcc test.c -o test -lmath -L$HOME/lib

问题是您对 /etc/ld.so.conf 的修改将在应用程序启动时用于查找正确的库(而不是在编译时)。

关于linux - 无法将库目录添加到 ld,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26598143/

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