A certain engineer "COMPLEX"

開発メモ その189 OpenCVを自作dllに静的リンクさせる

Introduction


Windows上でOpenCVのstaticライブラリを作成し、自作のdllにリンクさせる方法。

普通にリンクさせると、

opencv_world341.lib(alloc.cpp.obj) : error LNK2038: 'RuntimeLibrary' の不一致が検出されました。値 'MT_StaticRelease' が MD_DynamicRele
ase の値 'opencv.obj' と一致しません。

と表示されてしまう。
一工夫必要。

How to?


CMakeに渡す引数に下記を追加。特に、BUILD_WITH_STATIC_CRTが重要。

  • BUILD_SHARED_LIBS=OFF
  • BUILD_WITH_STATIC_CRT=OFF

OpenCVのビルドとサンプルdllをビルドできるサンプルは下記。

Sample source code for Demonstration, Experiment and Test - takuya-takeuchi/Demo

下記のように簡単に使用可能。

コメントを残す

メールアドレスが公開されることはありません。

%d人のブロガーが「いいね」をつけました。