CMAKE 找到包但没有 link 库

CMAKE finds package but does not link libraries

我正在尝试使用 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目录?

你没有到达link库,系统没有找到opencv headers这是因为你的包含目录没有正确设置。

指定位于 OpencvConfig.cmake 文件的 OpenCV 构建目录的位置非常重要。

此外,您需要 link 您的库 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} )