【问题标题】:Use static build instead of shared build of OpenCV in my CMake project在我的 CMake 项目中使用静态构建而不是 OpenCV 的共享构建
【发布时间】:2014-11-28 11:32:51
【问题描述】:

我的 CMake 项目使用 OpenCV,但是,它链接到共享构建,这需要 OpenCV DLL 才能使我的可执行文件工作。如何让 CMake 改用 OpenCV 的静态构建?

我应该在我的 CMakeList.txt 文件中进行哪些更改?这就是它现在的样子:

cmake_minimum_required(VERSION 2.8)
project (Tutorial)
find_package (OpenCV REQUIRED)
add_executable (Tutorial WIN32 main.cpp)
target_link_libraries (Tutorial ${OpenCV_LIBS})

【问题讨论】:

    标签: c++ opencv cmake


    【解决方案1】:

    我找到了答案,来自https://stackoverflow.com/a/26920527/492336

    其实这个问题似乎已经在 OpenCV 自带的 OpenCVConfig.cmake 中修复了。您所要做的就是在您的 CMakeLists.txt 中定义 OpenCV_STATIC。即

    set(OpenCV_STATIC ON)
    find_package(OpenCV REQUIRED)
    

    这对我有用,尽管我还需要将 CRT 指定为静态(因为静态 OpenCV 与静态 CRT 链接)。

    【讨论】:

      猜你喜欢
      • 2013-02-24
      • 1970-01-01
      • 2016-08-04
      • 1970-01-01
      • 2018-10-05
      • 2011-01-10
      • 2023-04-07
      相关资源
      最近更新 更多