即使在指定 OpenCV_DIR 之后,CMake 也找不到 OpenCVConfig.cmake
CMake cannot find OpenCVConfig.cmake even after specifying OpenCV_DIR
我是 运行 使用 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)
没有用,每次都会弹出同样的错误。
我该怎么办?
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
我是 运行 使用 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)
没有用,每次都会弹出同样的错误。
我该怎么办?
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