読者です 読者をやめる 読者になる 読者になる

OpenCV 2.0.0a をランタイムライブラリをスタティックリンク(/MT, /MTd)でビルドする方法

OpenCV Windows

OpenCV 2.0 では CMake を使って自分でビルドしますが,デフォルトではランタイムライブラリにダイナミックリンク(/MD, MDd)するようになっています.
これをスタティックリンクに変更するには以下のようにします.

  1. CMake の設定で
    1. CMAKE_CXX_FLAGS_DEBUG と CMAKE_C_FLAGS_DEBUG の /MDd を /MTd に変更.
    2. CMAKE_CXX_FLAGS_RELEASE と CMAKE_C_FLAGS_RELEASE の /MD を /MT に変更.
  2. Visual C++ の設定で
    1. opencv_ffmpeg のプロパティ(Debug)→構成プロパティ→リンカ→入力→特定のライブラリの無視に libmsvcr90d_.a を追加.
    2. opencv_ffmpeg のプロパティ(Release)→構成プロパティ→リンカ→入力→特定のライブラリの無視に libmsvcr90_.a を追加.
    3. highgui のプロパティ(Release)→構成プロパティ→リンカ→入力→特定のライブラリの無視から libcmt.lib を削除.

以上です.