【发布时间】:2009-10-14 16:54:52
【问题描述】:
我坐在 OpenSuse 11.1 x64 Box 上,我有一个使用 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
为什么?
【问题讨论】:
-
我刚刚意识到 ldconfig 并没有推出 libsigc-2.0.so,而只是推出了 libsigc-2.0.so.0。两者都是 libsigc-2.0.so.0.0.0 的符号链接,但为什么 ldconfig 只处理 .0 链接?
标签: linux gcc linker shared-libraries ld