在Linux下链接库

时间:2011-07-04 06:50:45

标签: linux opencv ld

我今天经历了(对我来说)奇怪的行为:使用QMake和PkgConfig-options等。我能够链接opencv库,但后来我使用PkgConfig切换到CMake。一旦我尝试构建我的软件,链接器抱怨它无法找到库libcvaux,pkg-config返回请求提供opencvpkg-config --libs opencv)的库。

/usr/lib我找到了libcvaux.so.{version},但没有找到“普通”条目libcvaux.so。所以我做的是创建一个符号链接,现在它可以工作。

现在我想知道为什么它之前有效。是否可以通过ld选项说“使用最新版本,并通过查看so后缀后面的数字来获取版本”?或者是opencv包的维护者忘记添加这个符号链接更多的某种错误?因为例如libcvlibhighgui具有此类符号链接。

谢谢!

1 个答案:

答案 0 :(得分:0)

从ldconfig联机帮助页:

  

ldconfig检查标头和文件   它遇到的库的名称   确定应该使用哪个版本   他们的链接已更新。

可能早期的ldconfig运行删除了链接。