C++ 使用CMake查找OpenCV包

C++ 使用CMake查找OpenCV包,c++,windows,opencv,visual-studio-2012,cmake,C++,Windows,Opencv,Visual Studio 2012,Cmake,我做了如下工作: 我已经将OpenCV_DIR变量设置为我的构建路径,设置为$(OpenCV_ROOT)/build/x86/vc11/lib 在我的CMakeLists.txt中,我调用find_package函数: find_package( OpenCV REQUIRED ) 应设置与OpenCV连接的某些变量,但设置不正确。例如,OpenCV_INCLUDE_DIRS应设置为 $(OPENCV_ROOT)/build/include 或 但事实并非如此 $(OPENCV_ROOT)

我做了如下工作:

我已经将OpenCV_DIR变量设置为我的构建路径,设置为$(OpenCV_ROOT)/build/x86/vc11/lib

在我的CMakeLists.txt中,我调用find_package函数:

find_package( OpenCV REQUIRED )
应设置与OpenCV连接的某些变量,但设置不正确。例如,OpenCV_INCLUDE_DIRS应设置为

$(OPENCV_ROOT)/build/include 

但事实并非如此

$(OPENCV_ROOT)/build/x86/vc11/lib/include;$(OPENCV_ROOT)/x86/vc11/lib/include/opencv

如何才能走上正确的道路

我从源代码构建了OpenCV,以确保所有变量和选项都设置正确。。为了便于解释,假设您的CMAKE\u INSTALL\u前缀设置为C:/opencv/。。这就是OpenCV\u DIR变量应该指向的位置

在您的系统环境路径中,将C:/opencv/bin/添加到路径变量中(以我的经验,这样您的计算机上的所有登录实例都可以访问它,并且使VS以后更容易识别它)。。确保同时生成项目的调试版本和发布版本,并为这两个版本生成安装项目

希望这有帮助

旁注:为了便于路径编辑,我使用了一个名为

$(OPENCV_ROOT)/build/x86/vc11/lib/include;$(OPENCV_ROOT)/x86/vc11/lib/include/opencv