Introduction
Windows上でOpenCVのstaticライブラリを作成し、自作のdllにリンクさせる方法。
普通にリンクさせると、
opencv_world341.lib(alloc.cpp.obj) : error LNK2038: ‘RuntimeLibrary’ の不一致が検出されました。値 ‘MT_StaticRelease’ が MD_DynamicRelease の値 ‘opencv.obj’ と一致しません。
と表示されてしまう。
一工夫必要。
How to?
CMakeに渡す引数に下記を追加。特に、BUILD_WITH_STATIC_CRTが重要。
- BUILD_SHARED_LIBS=OFF
- BUILD_WITH_STATIC_CRT=OFF
OpenCVのビルドとサンプルdllをビルドできるサンプルは下記。
下記のように簡単に使用可能。
1 | $ BuildOpenCV.bat Release D:\Works\Lib\OpenCV\3.4.1\sources |