【发布时间】:2020-11-24 13:51:39
【问题描述】:
我正在尝试通过 qtcreator 中的 cmake 构建项目,但在外部包依赖项方面遇到了问题。 有几个包它找不到,但我将符号链接添加到实际文件位置到 cmake 正在查找的目录中,之后它们运行良好。 但是,这个库 libopencv_viz.so.3.2.0 不与我合作。我添加了符号链接并直观地验证了文件/链接位于正确的位置,但 cmake 仍然告诉我它找不到文件,我不知道如何解决这个问题。正如我在之前的帖子中所说,我现在仍然只是学习 cmake,所以我完全不知道为什么它无法找到可验证位于正确位置的包。
/usr/share/OpenCV/OpenCVModules.cmake:192 处的 CMake 错误(消息): 导入的目标“opencv_viz”引用文件
"/usr/lib/x86_64-linux-gnu/libopencv_viz.so.3.2.0"
但是这个文件不存在。可能的原因包括:
-
文件已被删除、重命名或移动到其他位置。
-
安装或卸载过程未成功完成。
-
安装包出错并包含
"/usr/share/OpenCV/OpenCVModules.cmake"
但不是它引用的所有文件。
【问题讨论】:
-
检查权限、文件类型等。您的屏幕截图将
libopencv_video.so.3.2.0显示为链接,但libopencv_viz.so.3.2.0没有。 -
文件权限与我创建的所有其他符号链接相同。我在链接上运行了“文件”,它说它们是损坏的符号链接。什么会导致符号链接在创建后立即断开?我用 apt 安装了 lib,它显然创建了一个从 libopencv_viz.so 到 libopencv_viz.so.3.2 的硬符号链接,但它指向的文件不存在。很明显,这就是为什么我的 libopencv_viz.3.2.0->libopencv_viz.so 符号链接失败的原因。但是为什么我在安装没有错误的情况下在安装后立即断开链接?
标签: c++ opencv cmake qt-creator