CMAKE 查找包但不链接库



我正在尝试用 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 目录应该在哪个文件中标识?

您没有到达链接库,系统找不到 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} )

最新更新