CMake指定OpenCV_DIR仍找不到OpenCVConfig.cmake如何解决
CMake找不到MacPort安装的OpenCV3的解决方法
1. 修正OpenCV_DIR配置路径
find_package(OpenCV REQUIRED)要求OpenCV_DIR指向包含OpenCVConfig.cmake配置文件的目录,而非你当前设置的安装根目录/opt/local。
先执行命令定位配置文件的实际存储路径:find /opt/local -name "OpenCVConfig.cmake"
MacPort安装的opencv3对应的配置文件通常存放在/opt/local/lib/cmake/opencv3或/opt/local/share/OpenCV路径下,找到后修改CMakeLists.txt中的配置:
set(OpenCV_DIR 你查询到的配置文件所在目录 CACHE PATH "OpenCV config path" FORCE) find_package(OpenCV REQUIRED)
2. 清理CMake缓存后重新配置
之前的错误配置会被缓存到构建目录的CMakeCache.txt文件中,直接重新执行cmake不会生效,需要先删除构建目录下的CMakeCache.txt和CMakeFiles文件夹,再重新运行cmake命令。
3. 可选的路径传递方式
如果不想修改CMakeLists.txt,可以在执行cmake命令时直接传入路径参数:cmake .. -DOpenCV_DIR=你查询到的配置文件所在目录
也可以提前配置环境变量避免每次手动输入:export OpenCV_DIR=你查询到的配置文件所在目录
配置验证
配置完成后可在CMakeLists.txt中添加以下代码,确认OpenCV被正确识别:
if(OpenCV_FOUND) message(STATUS "OpenCV 版本: ${OpenCV_VERSION}") message(STATUS "OpenCV 头文件路径: ${OpenCV_INCLUDE_DIRS}") endif()
内容的提问来源于stack exchange,提问作者Zheng
相关产品推荐
相关产品推荐

