CMake Error at CMakeLists.txt:9 (find_package): By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "OpenCV", but CMake did not find one.
时间: 2023-10-19 14:05:12 浏览: 450
这个错误是因为 CMake 在查找 OpenCV 时找不到对应的 `FindOpenCV.cmake` 文件,需要将该文件添加到 CMake 的模块路径中。
你可以尝试以下方法来解决这个问题:
1. 确认 OpenCV 是否已经正确安装并配置好了环境变量,如果没有安装,可以先下载并安装 OpenCV。
2. 将 `FindOpenCV.cmake` 文件复制到 CMake 的模块路径中。该文件通常位于 OpenCV 安装目录下的 `share/OpenCV` 目录中,可以将其复制到系统的 CMake 模块路径中,通常是 `/usr/share/cmake/Modules` 目录,或者将其复制到项目的根目录下。
3. 在项目的 `CMakeLists.txt` 文件中添加以下语句,将刚才复制的 `FindOpenCV.cmake` 文件所在的目录添加到 CMake 的模块路径中:
```
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} /path/to/FindOpenCV.cmake)
```
其中 `/path/to/FindOpenCV.cmake` 为 `FindOpenCV.cmake` 文件所在的路径。
4. 在 `CMakeLists.txt` 文件中添加以下语句,告诉 CMake 查找和链接 OpenCV 库:
```
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries(your_target ${OpenCV_LIBS})
```
其中 `your_target` 是你的项目名,`OpenCV_INCLUDE_DIRS` 和 `OpenCV_LIBS` 是 CMake 查找到的 OpenCV 库的路径和库文件名。
阅读全文