我坐在一个opensuse 11.1x64的盒子上,我有一个使用sigc++的模块。当这样链接时:
g++ [a lot of o's, L's and l's] -lsigc-2.0
我明白了
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: cannot find -lsigc-2.0
不管图书馆在哪里。
在文件系统中:
$ sudo find / -name "libsigc-2.0*"
/usr/lib64/libsigc-2.0.so.0.0.0
/usr/lib64/libsigc-2.0.so.0
/usr/lib64/libsigc-2.0.so
在ld.so.conf中,我有:
/usr/lib64
调用ldconfig时:
$ ldconfig -v | grep sigc
libsigc-2.0.so.0 -> libsigc-2.0.so.0.0.0
为什么?
最佳答案
我真傻。这是一个旧的代码库,就在-lsigc-2.0语句之前,我有一个
-Wl,-Bstatic
显然,libsigc已经没有静态库了。
关于linux - ld找不到已安装的库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1567612/