Gunakan build statis alih-alih build OpenCV bersama di proyek CMake saya

Proyek CMake saya menggunakan OpenCV, namun tertaut ke build bersama, yang memerlukan DLL OpenCV agar executable saya dapat berfungsi. Bagaimana saya bisa memberitahu CMake untuk menggunakan build statis OpenCV?

Apa yang harus saya ubah di file CMakeList.txt saya? Inilah tampilannya sekarang:

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

person sashoalm    schedule 28.11.2014    source sumber


Jawaban (1)


Saya menemukan jawabannya, dari https://stackoverflow.com/a/26920527/492336:

Sebenarnya masalah ini sepertinya sudah diperbaiki di OpenCVConfig.cmake yang disertakan dengan OpenCV. Yang harus Anda lakukan adalah mendefinisikan OpenCV_STATIC di CMakeLists.txt Anda. Yaitu.

set(OpenCV_STATIC ON)
find_package(OpenCV REQUIRED)

Ini berhasil untuk saya, meskipun saya perlu menentukan CRT menjadi statis juga (karena OpenCV statis terhubung dengan CRT statis).

person sashoalm    schedule 28.11.2014