我正在尝试使用 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} )
关于c++ - CMAKE 找到包但不链接库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37701400/