Linux can';t将库目录添加到ld

Linux can';t将库目录添加到ld,linux,ld,Linux,Ld,我在家中创建了自己的库目录(/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时,我得到: att

我在家中创建了自己的库目录(
/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
时,我得到:

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\u PATH
添加要由
gcc
搜索以进行编译的目录

export LIBRARY_PATH=$HOME/lib
或者,您可以将库添加到
-L
命令行标志中,以
gcc
为例

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

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

您能否尝试
gcc test.c-o test-lmath-L$HOME/lib
@ElliottFrisch是的,这很有效,但我不想使用此方法。