【问题标题】:Can not build OpenCV project using CMake Visual Studio 12无法使用 CMake Visual Studio 12 构建 OpenCV 项目
【发布时间】:2015-04-03 12:35:21
【问题描述】:

我正在尝试使用 CMake GUI 构建基于 OpenCV 的项目,但一直出错。我关注了this 线程,但仍然无法解决我的问题。

以下是我在 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 (x86),它使用 CMake 通过 TBB 库构建并针对 Visual Studio 2013(版本 12)。此外,我还为 OpenCV 定义了一个系统变量。而且,以下是我的 CMakeLists.txt 文件,我用它来构建(出现上述错误)项目解决方案 (.sln) 文件:

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 )

【问题讨论】:

    标签: opencv visual-studio-2012 cmake


    【解决方案1】:

    您似乎尝试使用 vs2013(版本 12)构建您的应用程序,但您已经为版本 vs2012(版本 11)构建了 OpenCV 发行版。这就是问题所在。

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

    【讨论】:

    • 不,我一直在使用 VS 2013(版本 12)。是什么让您认为我为 VS2012(版本 11)构建了 OpenCV?谢谢。
    • 您已经提到过它(在上次编辑之前),并且仍然有标签“vs2012”。如果版本正常,则检查您是否尝试使用 x64 配置。因为 CMAKE 告诉配置(OpenCV(x86)和创建的应用程序)不匹配。
    猜你喜欢
    • 2013-02-24
    • 2021-08-08
    • 2021-10-06
    • 1970-01-01
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 2019-09-24
    • 2018-03-26
    相关资源
    最近更新 更多