我尝试使用CMAKE编译项目并使用MinGW32-make.exe编写。我的CMakeLists.txt看起来像这样:
#####################################
cmake_minimum_required (VERSION 3.0)
project (TestProject)
find_package(OpenCV REQUIRED)
include_directories(${OPENCV_INCLUDE_DIR})
add_executable (main.exe main.cpp)
#####################################
运行" CMAKE -G" MinGW Makefiles"运行正常,但当我尝试使用" MinGW32-make.exe"我收到以下错误:
25:39: fatal error: opencv2/highgui/highgui.hpp: No such file or directory
#include "opencv2/highgui/highgui.hpp"
当我查看Makefile时,我找不到文本" OpenCV"任何地方。哪个文件是OPENCV目录应该被识别?
答案 0 :(得分:2)
您没有到达链接库,系统找不到opencv头文件,因为您的包含目录没有正确设置。
指定OpenCv构建目录的位置非常重要,该目录位于OpencvConfig.cmake文件中。
此外,您需要将您的库链接到target_link_libraries。
总之,您的cmake代码应该是这样的:
cmake_minimum_required (VERSION 3.0)
project( TestProject )
find_package( OpenCV REQUIRED )
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable( main main.cpp )
target_link_libraries( main ${OpenCV_LIBS} )