这里报告了这个问题的几种变体,据我了解响应,它归结为以下原因:
- 未安装软件或其开发人员包
- ldconfig 不知道这些库
- 缺少告诉在哪里搜索库的编译器选项
- 错误的库名称或缺少软链接 (libfoo.so -> libfoo.so.5)
现在我有:
/usr/bin/ld: cannot find -lboost_regex
但是 ldconfig 知道这一点:
$ ldconfig -p | grep boost_regex.so
libboost_regex.so.5 (libc6,x86-64) => /usr/lib64/libboost_regex.so.5
libboost_regex.so (libc6,x86-64) => /usr/lib64/libboost_regex.so
它也存在:
$ ls -l /usr/lib64/libboost_regex.so
lrwxrwxrwx 1 root root 19 Sep 24 08:19 /usr/lib64/libboost_regex.so -> libboost_regex.so.5
$ ll /usr/lib64/libboost_regex.so.5
-rwxr-xr-x 1 root root 1000224 Apr 2 09:48 /usr/lib64/libboost_regex.so.5
有什么想法或提示我缺少什么吗?
问候, 安迪