ぬうぱんの備忘録

技術系のメモとかいろいろ

作った曲一覧はこちら

VisualStudio2015 + OpenCVで躓きまくった話

この記事は

Visual Studio 2015入れてOpenCVも入れたらデバッグビルドできなくて憤慨したっていう話です。
一応、リリースビルドはできたので、参考にしたい人は参考にして。
あと、OpenCV側のアップデートでVS2015でもビルドできるようになるかもしれません。

試した環境

一番簡単なうまくいく方法

  1. 公式からOpenCV一式(2.4.11とか3.0.0とか)を入手
  2. 解凍してC:以下に展開(展開した段階でビルド済みの静的ライブラリとかヘッダがある)
  3. VS2015で出てきたヘッダとライブラリにパスを通す
  4. 適当にテストコード書いて実行

参考にしたのはこちら(Visual Studio 2015でOpenCVを動かすための環境設定 | 株式会社アルベ | Arubeh Inc.)。

すると、Releaseビルドなら動くが、Debugビルドでは"MSVCR120d.dll"が無いと言われて実行時に落ちる。
この"MSVCR120d.dll"はVS2013のデバッグ版ランタイムで、VS2013の再頒布可能パッケージをインストールしても付いてこない。
なので、動かしたかったらVisualStudio2013を入れる必要があるのだが、それってもう全部SV2013で進めればいいのでは。
製品版のVS2015なら過去バージョンのデバッグラインタイムも入ってるんですかね?

ともかく、Releaseビルドならバイナリ作れるし実行もできるので、デバッガなんてフヨウラ! っていう人はこれで良いんじゃないですかね。
余談ですが、MSVCR120d.dllが何に含まれてるのか調べてる時に、どこぞの質問サイトでDebugとか論外でしょとか言ってる回答者がいてすごく残念な気持ちになりました。

まったくうまくいかない方法

  1. 公式からOpenCV一式(2.4.11とか3.0.0とか)を入手
  2. 解凍してC:以下に展開
  3. cmakeでいろいろやってVS2015用のソリューションファイルを作る
  4. できたソリューションファイルを開いてビルド

参考にしたのはこちら

すると、OpenCVのビルドでコケる。エラー大量。

感想

俺たちのOpenCV Install Battleはまだまだこれからだ!