我今天经历了(对我来说)奇怪的行为:使用QMake和PkgConfig-options等。我能够链接opencv库,但后来我使用PkgConfig切换到CMake。一旦我尝试构建我的软件,链接器抱怨它无法找到库libcvaux
,pkg-config返回请求提供opencv
(pkg-config --libs opencv
)的库。
在/usr/lib
我找到了libcvaux.so.{version}
,但没有找到“普通”条目libcvaux.so
。所以我做的是创建一个符号链接,现在它可以工作。
现在我想知道为什么它之前有效。是否可以通过ld
选项说“使用最新版本,并通过查看so
后缀后面的数字来获取版本”?或者是opencv包的维护者忘记添加这个符号链接更多的某种错误?因为例如libcv
或libhighgui
具有此类符号链接。
谢谢!
答案 0 :(得分:0)
从ldconfig联机帮助页:
ldconfig检查标头和文件 它遇到的库的名称 确定应该使用哪个版本 他们的链接已更新。
可能早期的ldconfig运行删除了链接。