无法使用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
不,我使用的整个VS 2013(12版)。是什么让你认为我构建了VS2012(版本11)的OpenCV?谢谢。 – Sanchit 2015-04-03 13:04:51
你已经提到它有问题(在上次编辑之前),仍然有标签“vs2012”。如果版本正常,请检查您是否尝试使用x64配置。因为CMAKE告诉配置(OpenCV(x86)和创建的应用程序)不匹配。 – 2015-04-03 14:07:00