在我的CMake项目中使用静态构建而不是OpenCV的共享构建
Use static build instead of shared build of OpenCV in my CMake project
我的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})
我从 https://stackoverflow.com/a/26920527/492336 中找到了答案:
实际上,这个问题似乎已经在OpenCV附带的OpenCVConfig.cmake中得到了修复。您所要做的就是在CMakeLists.txt中定义OpenCV_STATIC。即
set(OpenCV_STATIC ON)
find_package(OpenCV REQUIRED)
这对我有用,尽管我还需要将 CRT 指定为静态(因为静态 OpenCV 与静态 CRT 链接)。
相关文章:
- 如何使用 TesseractOCR 构建 OpenCV?
- 构建OpenCV的基本CMakefile问题
- 为什么我不能构建opencv WITH_QT?
- 从源代码构建 openCV 之前的步骤
- OPENCV 3.2是否与CUDA 10兼容?我如何在使用CUDA 10的系统上编译和构建OpenCV 3.2
- 在 iOS 上使用 Aruco 构建 OpenCV 时"Functional-style cast from id to double is not allowed"
- 使用Conver VS2015 C 构建OPENCV
- 构建 OpenCV 时出错:"recompile with -fPIC"
- 在调试模式下构建 OpenCV 并进行了优化
- C++ 如何构建 opencv 与 2015 x86
- 使用OpenCL支持构建OpenCV
- 在Ubuntu中构建OpenCV 3.1.0的问题
- 使用MINGW-MAKE构建OpenCV 3.3在47%时给出错误2
- 在 64 位 Windows 8 机器上使用 Visual Studio 2012 构建 opencv 的绝对解决方案
- 无法构建 OpenCV Android 示例项目
- 在 Eclipse 中使用 JNI 构建 OpenCV 应用程序
- 如何在Raspberry Pi上使用TBB构建OpenCV
- 使用 TDM-GCC-64、Cmake 和 CodeBlock 在 Windows 8 中构建 OpenCV 静态库时出
- 尝试在os x上构建opencv时出错
- 未能构建opencv jni示例-opencv示例-本机活动(未定义引用)