繁体   English   中英

链接 Linux 下的库

[英]linking libraries under Linux

我今天遇到了一个(对我来说)奇怪的行为:使用带有 PkgConfig 选项等的 QMake。我能够链接 opencv 库,但后来我使用 PkgConfig 切换到 CMake。 一旦我尝试构建我的软件,linker 抱怨它无法找到库libcvaux ,pkg-config 返回要求为opencv ( pkg-config --libs opencv ) 提供库。

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

现在我想知道为什么它以前有效。 有什么东西可以通过ld一个选项说“使用最新版本,你可以通过查看so后缀后面的数字来获得版本”? 还是 opencv package 的维护者忘记添加此符号链接的某种错误? 因为例如libcvlibhighgui有这样的符号链接。

谢谢!

从 ldconfig 手册页:

ldconfig 在确定哪些版本应该更新其链接时检查 header 和它遇到的库的文件名。

也许较早的 ldconfig 运行删除了该链接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM