Problem

開発メモ その55 OpenCV 3.2のContribモジュールをビルドするにて、OpenCV を拡張モジュール付きでビルドしましたが、これをスタティックライブラリでビルドする手順のメモ。

Solution

C++でOpenCVのフォームアプリを作る(3) - 静的リンク -というそのものズバリなサイトがありました。
CMakeBUILD_SHARED_LIBS をOFFにすれば、スタティックライブラリとして生成されます。
ソースファイルを下記のように展開したとします。

  • c:\src\opencv_contrib-3.2.0
    • doc
    • modules
    • samples
  • c:\src\oopencv-3.2.0
    • 3rdparty
    • apps

この状態で、出力先をc:\src\opencv-3.2.0\build とした場合、スタティックライブラリは、c:\src\opencv-3.2.0\build\lib\Release または c:\src\opencv-3.2.0\build\lib\Debug に出力されます。
つまり、BUILD_SHARED_LIBS の状態に関係なく、同じ場所に出力されます。