【问题标题】:CMake cannot find OpenCVConfig.cmake even after specifying OpenCV_DIR即使在指定 OpenCV_DIR 之后,CMake 也找不到 OpenCVConfig.cmake
【发布时间】:2021-10-22 19:30:34
【问题描述】:

我正在使用 OpenCV 运行 C++ 程序。我已经安装了所有必要的库,但 cmake 似乎找不到 OpenCV 库。

port content opencv3 命令显示我的 opencv 库位于这些文件夹下:

/opt/local/libexec/

/opt/local/bin/

/opt/local/lib/

/opt/local/include/

但在find_package(OpenCV REQUIRED) 之前添加set(OpenCV_DIR /opt/local) 不起作用,并且每次都会弹出相同的错误。

我该怎么办?

【问题讨论】:

  • 不是set(OpenCV_DIR /opt/local)set(OpenCV_ROOT /opt/local),也许吧。
  • 我尝试了您的解决方案,但不幸的是 cmake 报告了同样的错误。

标签: c++ opencv cmake


【解决方案1】:

CMake 命令不会通过, 分隔它们的参数。因此,当您写道:

set(OpenCV_DIR, /opt/local/share/OpenCV)

实际上,您将一个名为 OpenCV_DIR, 的变量设置为 /opt/local/share/OpenCV。您可以通过删除逗号来“修复”它:

set(OpenCV_DIR /opt/local/share/OpenCV)

我说“修复”是因为这不是一个好的做事方式。您的 CMakeLists.txt 应该没有绝对路径。而是在命令行或preset 中设置-DCMAKE_PREFIX_PATH=/opt/local

【讨论】:

  • 您好,感谢您的回答。我刚刚意识到locate 正在使用一些旧缓存,而我在上一个问题中提到的文件夹中实际上不存在任何内容。我刚刚更新了我的问题,请帮助我。前几天我将macOS系统升级到新版本之前程序能够运行,我尝试重新安装环境但总是同样的问题。
  • @Zheng:那么,您系统上OpenCVConfig.cmake 文件的确切路径是什么?如果没有该文件(或 opencv-config.cmake 一个),CMake 无法检测到 OpenCV。
  • @Alex Reinking:重建定位数据库后,OpenCVConfig.cmake 的确切路径是/opt/local/libexec/openvc3/cmake,并且set(OpenCV_DIR /opt/local/libexec/openvc3/cmake) 有效。我想听从你的建议,但我只有一些 python 经验,而且我真的是 C++ 的菜鸟。我使用 CLion 作为我的 IDE,如何在命令行上设置 -DCMAKE_PREFIX_PATH=/opt/local 作为您的建议?谢谢。
猜你喜欢
  • 1970-01-01
  • 2021-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-03
  • 2019-01-17
  • 1970-01-01
相关资源
最近更新 更多