CMake 找不到明显存在的包
CMake not finding package that is clearly there
我正在尝试在 qtcreator 中通过 cmake 构建一个项目,但我遇到了外部包依赖项的问题。
有几个它找不到的包,但我将符号链接添加到实际文件位置到 cmake 正在查找的目录中,afetr 它们工作正常。
但是,这个库 libopencv_viz.so.3.2.0 并不与我合作。我添加了符号链接并直观地验证了 file/link 位于正确的位置,但 cmake 仍然告诉我它找不到该文件,我不知道如何解决这个问题。正如我在之前 post 中所述,我现在仍在学习 cmake,所以我完全不知道为什么它无法找到可验证地位于正确位置的包。
CMake Error at /usr/share/OpenCV/OpenCVModules.cmake:192 (message):
The imported target "opencv_viz" references the file
"/usr/lib/x86_64-linux-gnu/libopencv_viz.so.3.2.0"
但是这个文件不存在。可能的原因包括:
文件已被删除、重命名或移动到其他位置。
安装或卸载过程未成功完成。
安装包错误,包含
"/usr/share/OpenCV/OpenCVModules.cmake"=13=]
但不是它引用的所有文件。
手动创建 symlinks 表明您的安装不完整。清理您的手动 symlinks,并找出您的安装有什么问题。
在Linux上是正常的,.so.x.y.z
全数字版的是运行时间库。即申请运行所需的文件。版本号确保应用程序加载与构建时相同的库。
.so
symlink 到 .so.x.y.z
用于构建链。当编译器(linker,真的)针对 libopencv_viz 转到 link 时,它将搜索 libopencv_viz.so
,将 symlink 解析为版本文件,并且link那个。
许多发行版(包括 Ubuntu)将 运行time 库与开发组件分开。我的猜测是您安装了名为 libopencv-viz3.2
的软件包,但没有安装名为 libopencv-viz-dev
.
的软件包
我正在尝试在 qtcreator 中通过 cmake 构建一个项目,但我遇到了外部包依赖项的问题。 有几个它找不到的包,但我将符号链接添加到实际文件位置到 cmake 正在查找的目录中,afetr 它们工作正常。 但是,这个库 libopencv_viz.so.3.2.0 并不与我合作。我添加了符号链接并直观地验证了 file/link 位于正确的位置,但 cmake 仍然告诉我它找不到该文件,我不知道如何解决这个问题。正如我在之前 post 中所述,我现在仍在学习 cmake,所以我完全不知道为什么它无法找到可验证地位于正确位置的包。
CMake Error at /usr/share/OpenCV/OpenCVModules.cmake:192 (message): The imported target "opencv_viz" references the file
"/usr/lib/x86_64-linux-gnu/libopencv_viz.so.3.2.0"
但是这个文件不存在。可能的原因包括:
文件已被删除、重命名或移动到其他位置。
安装或卸载过程未成功完成。
安装包错误,包含
"/usr/share/OpenCV/OpenCVModules.cmake"=13=]
但不是它引用的所有文件。
手动创建 symlinks 表明您的安装不完整。清理您的手动 symlinks,并找出您的安装有什么问题。
在Linux上是正常的,.so.x.y.z
全数字版的是运行时间库。即申请运行所需的文件。版本号确保应用程序加载与构建时相同的库。
.so
symlink 到 .so.x.y.z
用于构建链。当编译器(linker,真的)针对 libopencv_viz 转到 link 时,它将搜索 libopencv_viz.so
,将 symlink 解析为版本文件,并且link那个。
许多发行版(包括 Ubuntu)将 运行time 库与开发组件分开。我的猜测是您安装了名为 libopencv-viz3.2
的软件包,但没有安装名为 libopencv-viz-dev
.