首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将库目录添加到ld

问无法将库目录添加到ld
EN

Stack Overflow用户
提问于 2014-10-27 22:46:53
回答 1查看 1.6K关注 0票数 1

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

问题所在

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

代码语言:javascript
复制
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返回

代码语言:javascript
复制
/usr/bin/ld: cannot find -lmath
collect2: error: ld returned 1 exit status

你有解决办法吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-27 23:03:10

您可以使用LIBRARY_PATH添加要由gcc搜索以进行编译的目录,

代码语言:javascript
复制
export LIBRARY_PATH=$HOME/lib

或者,可以将库添加到-L命令行标志到gcc中,如下所示

代码语言:javascript
复制
gcc test.c -o test -lmath -L$HOME/lib

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26598143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档