我坐在一个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/

10-10 13:05