我正试图在qtcreator中通过cmake构建一个项目,但是外部包依赖关系出现了问题。有几个包是它找不到的,但我在cmake正在查找的目录中添加了指向实际文件位置的符号链接,因为它们运行良好。然而,这个库libopencv_viz.so.3.2.0并不与我合作。我添加了符号链接并直观地验证了文件/链接在正确的位置,但是cmake仍然告诉我它找不到文件,我不知道如何解决这个问题。正如我在前一篇文章中所说的,我现在还只是在学习cmake,所以我完全不知道为什么它无法在正确的位置找到一个可验证的包。
CMake错误在/usr/CMake/OpenCV/OpenCVModules.cmake:192(消息):导入的目标"opencv_viz“引用该文件
"/usr/lib/x86_64-linux-gnu/libopencv_viz.so.3.2.0"
但是这个文件不存在。可能的原因包括:
安装或卸载过程没有完成successfully.
"/usr/share/OpenCV/OpenCVModules.cmake"
但并不是所有它引用的文件。
发布于 2020-11-24 06:48:51
手工创建符号链接意味着安装不完整。清理您的手动符号链接,并了解您的安装有什么问题。
在Linux上,具有完整数字版本的.so.x.y.z
是运行时库,这是正常的。也就是说,应用程序运行所需的文件。版本号确保应用程序加载与其构建相同的库。
指向.so
的.so.x.y.z
符号链接是用于构建链的。当编译器(链接器,实际上)使用libopencv_viz链接时,它将搜索libopencv_viz.so
,解析到版本文件的符号链接,并将其链接。
许多发行版(包括Ubuntu)将运行库与开发组件分开。我猜您已经安装了名为libopencv-viz3.2
的包,但没有安装名为libopencv-viz-dev
的包。
https://stackoverflow.com/questions/64987921
复制相似问题