无法使用CMake Visual Studio 12构建OpenCV项目

问题描述:

我正尝试使用CMake GUI构建基于OpenCV的项目,但不断收到错误。我跟着this线程,但仍不能解决我的问题。无法使用CMake Visual Studio 12构建OpenCV项目

以下是我在GUI中得到的消息(与错误一起):

CMake Warning at C:/SCCH/libs/opencv249_x86_3/OpenCVConfig.cmake:161 (message): 
Found OpenCV Windows Pack but it has not binaries compatible with your 
configuration. 

You should manually point CMake variable OpenCV_DIR to your build of OpenCV library. 

Call Stack (most recent call first): 
    CMakeLists.txt:9 (FIND_PACKAGE) 

CMake Error at CMakeLists.txt:9 (FIND_PACKAGE): 
    Found package configuration file: 

    C:/SCCH/libs/opencv249_x86_3/OpenCVConfig.cmake 
    but it set OpenCV_FOUND to FALSE so package "OpenCV" is considered to be NOT FOUND. 

我使用OpenCV的2.49(86)使用CMake的TBB库建成并有针对性的为Visual Studio 2013(版本12)。另外,我为OpenCV定义了一个系统变量。并且,以下是我使用的建筑(其中我收到上述错误)的一个项目解决方案(.sln)文件,我的CMakeLists.txt文件:

cmake_minimum_required(VERSION 2.8) 

project(FlexTex) 

SET(OpenCV_DIR "C:/SCCH/libs/opencv249_x86_3") 
FIND_PACKAGE(OpenCV REQUIRED) 

SET(FLEX_TEX_DLL_FILES ./LibFlexTexDLL/inc/FlexTexDLL.h ./LibFlexTexDLL/src/FlexTexDLL.cpp) 
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/LibFlexTexDLL/inc/) 
ADD_LIBRARY(FlexTexDLL SHARED ${FLEX_TEX_DLL_FILES}) 
TARGET_LINK_LIBRARIES(FlexTexDLL ${OpenCV_LIBS}) 

SET(FLEX_TEX_PP_DLL_FILES ./LibFlexTexPPDLL/inc/defines.h ./LibFlexTexPPDLL/inc/FlexTexPPDLL.h ./LibFlexTexPPDLL/inc/FlexTexPPImpl.h ./LibFlexTexPPDLL/src/FlexTexPPDLL.cpp) 
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/LibFlexTexPPDLL/inc/) 
ADD_LIBRARY(FlexTexPPDLL SHARED ${FLEX_TEX_PP_DLL_FILES}) 
TARGET_LINK_LIBRARIES(FlexTexPPDLL ${OpenCV_LIBS}) 

ADD_EXECUTABLE (FlexTexMain FlexTexMain/src/FlexTexMain.cpp) 
TARGET_LINK_LIBRARIES(FlexTexMain FlexTexPPDLL) 

看来你尝试使用vs2013构建应用程序(版本12),但是您拥有为版本vs2012(版本11)构建的OpenCV发行版。这是问题。

您可以尝试使用Creemple分布:http://opencv.org/ceemple-opencv-distribution-for-visual-studio.html

+0

不,我使用的整个VS 2013(12版)。是什么让你认为我构建了VS2012(版本11)的OpenCV?谢谢。 – Sanchit 2015-04-03 13:04:51

+0

你已经提到它有问题(在上次编辑之前),仍然有标签“vs2012”。如果版本正常,请检查您是否尝试使用x64配置。因为CMAKE告诉配置(OpenCV(x86)和创建的应用程序)不匹配。 – 2015-04-03 14:07:00