OpenCV 4.1 を使えるようにVisual Studio 2019のプロパティシートを設定

 

cv-lover.hatenablog.com

 上記のページでは,OpenCV4.1の設定をしてきました.

このページでは,今度はVisual Studio側の設定をしていきたいと思います.

 

ここでは,"プロパティシート"というVisual Studio独特の方法を使っていきます.プロパティシートは,一回作っておけば,今後OpenCVを使うプロジェクトには使いまわすことができる便利な機能です.

空のプロジェクトの作成

まずは新しくプロジェクトを作成します.

f:id:cv_lover:20190613001523j:plain

 

 C++の空のプロジェクトをとりあえず作ってみます.

f:id:cv_lover:20190613074004j:plain

プロジェクト名称は何でもよいので,とりあえず適当に"TestOpenCV"とつけておきます.

 

f:id:cv_lover:20190811174702j:plain

 

空のプロジェクトが出来上がると,こんな感じの画面になります.

”空のプロジェクト”なので,本当に空っぽですね.

続いて,右下の"プロパティマネージャ"を選択します.

※そもそも右側のタブが出ていないときは,上部のメニューバーの”表示>その他のウィンドウ>プロパティマネージャ”から開くことができます.

プロパティシートの作成

さて,プロパティマネージャがこんな感じで表示されたかと思います.

プロパティシートは,開発の環境ごとに設定できるため,私の環境では下記のように4つフォルダが既に切られています.おそらくデフォルトでこうなっていますので,皆さんの環境もこうなのかと思います.小難しい説明は割愛しますが,ざっくりと4つを分けている用語の意味は

  • Debug:デバッグ環境でのビルド用(実装⇔実行のトライ&エラーを繰り返す作業用で,実行中の変数の途中経過とかを観察できる)
  • Release:リリース環境でのビルド用(デバッグ用のように,変数の途中経過を細かくは負えないが,実行速度が速い.アプリケーションをリリースしたりするとき用)
  • x64/Win32:作りたいアプリケーションは64bitマシンを想定するのか,それとも32bitを想定するのか?

とりあえず,まずはDebug/x64でプロパティシートを作っていきます.

f:id:cv_lover:20190613074852j:plain

まずはこいつを右クリックします.

そして,”新しいプロジェクト プロパティシートの追加”を選択します.

f:id:cv_lover:20190613075748j:plain

すると,下のような画面が立ち上がるので,新らたに"OpenCV410d_64.props"という名前で空のプロパティシートをまずは作ります.名前も任意でよいですが,上記とおり,OpenCV410d_64.props, OpenCV410_64.props, OpenCV410d_32.props, OpenCV410_32.propsの4つ分作るので,それが区別できるような名前にしておくとよいかと思います.

f:id:cv_lover:20190811174147j:plain

それを追加出来たら,下記のようにプロパティマネージャに表示されていれば新規作成は成功です.

f:id:cv_lover:20190613214816j:plain

プロパティシートにOpenCVの設定を書き込んでいく

続けて,先ほど作成した"OpenCV410d_x64"をダブルクリックして編集を始めていきます.下記の3つの箇所に,それぞれOpenCVのパスを追記してください.

f:id:cv_lover:20190613082835j:plain

 新規の行はこちらから追加できます.

f:id:cv_lover:20190613085753j:plain

上記3か所を設定したら,x64のDebugモードにおけるOpenCV4.1のプロパティシートは完成です.

Rleaseモードのプロパティシート

続けて,x64のReleaseモードのプロパティシートも作っていきます.

手順は先ほどと同様です,まずは空のプロパティシートとしてOpenCV410_x64を追加します.そして,中身を編集しますが,Debugとの違いは,プロパティシートのファイル名に"d"を付けないことと,リンカの入力の依存ファイルが異なること,の2点です. 

f:id:cv_lover:20190613215111j:plain

以上で完了です!

OpenCVの関数を"TestOpenCV"のプロジェクトでは,呼び出すことができるようになっています!

今後作っていくプロジェクトのために..

上記の手順により,"TestOpenCV"からはOpenCVの関数を呼び出すことができます.

しかし,例えば"HelloWorld"など別のプロジェクトを作った場合はどうでしょうか?毎回上記を実施するのは面倒です.

そこで,さきほど作った"OpenCV410d_x64.props"と"OpenCV410_x64.props"を保存しておき,別プロジェクト立ち上げの時には読み込めるようにしておけばOKです.

プロパティシートの保存

さきほど作ったプロパティシートを,プロパティマネージャ上で右クリックし,"保存"を選択します.

f:id:cv_lover:20190614213159j:plain

保存されたけど,どこ?と思われますが,下記に保存されています

  • 御自身の作業ディレクトリ> TestOpenCV> TestOpenCV> OpenCV410_x64.props/OpenCV410_x64d.props

これらのプロパティシートをコピーして,どこか上の階層("マイドキュメント"とか)に置いておくと便利です.

プロパティシートの読み込み

新しいプロジェクトを作成したら,先ほどと同じようにまずはプロパティマネージャを開きます.そして,プロパティマネージャ>Debug|x64もしくはRelease|x64を右クリックし,”既存のプロパティシートを追加”を選択して,先ほど保存しておいたOpenCV410d_x64.propsとOpenCV410_x64.propsとを,それぞれDebugとReleaseのほうに選択して追加します.

これで準備は完了です!

f:id:cv_lover:20190614214825j:plain