最近、Windowsをインストールしなおしまして、いろいろと全ての設定を最初からしなければならない事態に…。
以前にKinectとOpenCVを使ってたんだけど、環境構築にとても苦労した思い出。
これからもKinectとOpenCVを使い続けるだろうし、さらにLeapMotionも使うことになりそうなので、ここで一旦Visual Studioでの環境構築手法をまとめときます。
OpenCV,KinectSDK,LeapMotionSDKはダウンロード済みとします。
OpenCV
C:/ドライブ直下にOpenCVのファイルがある。
プロジェクトを右クリック→プロパティを開く
「構成プロパティ|C/C++|追加のインクルードディレクトリ」に「C:\opencv\build\include]を追加
「構成プロパティ|リンカー|追加のライブラリディレクトリ」に「C:\opencv\build\x64\vc14\lib」を追加
「構成プロパティ|リンカー|入力|追加の依存ファイル」に 「opencv_world320.lib」を追加
##KinectV2
プロジェクトを右クリック→プロパティを開く
「構成プロパティ|C/C++|追加のインクルードディレクトリ」に「$(KINECTSDK20_DIR)\inc]を追加
「構成プロパティ|リンカー|追加のライブラリディレクトリ」に 「$(KINECTSDK20_DIR)\inc 」を追加
「構成プロパティ|リンカー|入力|追加の依存ファイル」に 「Kinect20.lib」を追加
##LeapMotion
C:/ドライブ直下にLeapSDKのファイルがある。
プロジェクトを右クリック→プロパティを開く
「構成プロパティ|C/C++|追加のインクルードディレクトリ」に「C:\LeapSDK\include」を追加
「構成プロパティ|リンカー|追加のライブラリディレクトリ」に 「C:\LeapSDK\lib\x64」を追加
「構成プロパティ|リンカー|入力|追加の依存ファイル」に 「leap.lib」を追加
##遭遇したエラー
####・dllファイルがない
このエラーが出たら、実行した.exeファイルがあるフォルダ内に必要な.dllファイルを追加する。
####・libファイルがない
このエラーが出たら、pathが正しく通っていない可能性がある。プロジェクトのプロパティからもう一度pathを確認する。
####・アプリケーション エラー : アプリケーションを正しく起動できませんでした (0xc000007b)。[OK] をクリックしてアプリケーションを閉じてください。 アプリケーションエラー(0xc000007b)
全部正しく設定したはずなのに出たエラー。どうやら、64bitの実行環境なのに、32bit版のdllファイルを設定していたらしい。 自分のパソコンとプロジェクトに対応したbitのdllファイルを選ばなければ。dllファイル名からでは判断できないから注意。
####・C:4996エラー
fopen()やf ()の代わりにfopen_s()やstrcat_s()を使うか、_CRT_SECURE_NO_WARNINGSを使って警告をディセーブルするよう書かれています。
プログラムの先頭に#define _CRT_SECURE_NO_WARNINGS #pragma warning(C:4996) を記述するとエラーが出なくなる。
ただし、これは解決ではなくただ単にエラーを表示させなくするという処理。 サンプルプログラムのように信頼できるソースに対してはこの方法で良いが、自分で作成したファイルに関してはfopen_s()やstrcat_s()に書き換える方が安全なのでそっちを優先。
とりあえずこんな感じ。また遭遇したエラーとかがあったら追記していく。