OpenCVをVisual Studio 2008で使う

これまでのVS2005+OpenCVの環境をVS2008に変えたので環境と動作を確認します.
(VS2008はインストール済み)

この時点で,VS2005で動いていたプログラムをVS2008で読み込んでみたところ,警告は出たが無事2008用に変換された模様です.
とりあえずビルドしてみると,CV関係のヘッダが見つからないエラー(そりゃそうだ)が出ました.

  • VS2008の設定
    • まずOpenCVのヘッダファイルは\OpenCV\cv,cvaux,cxcore\includeに散らばっているので,全てのヘッダファイル(*.h,*.hpp)を\OpenCV\includeというフォルダを作ってコピーしました.
    • VS2008で[ツール]→[オプション]→[VC++ディレクトリ]→ディレクトリを表示するプロジェクト=インクルードファイル→C:\Program Files\OpenCV\include
    • 同様にディレクトリを表示するプロジェクト=ライブラリファイル→C:\Program Files\OpenCV\lib

再度ビルドします.すると,cvcompat.hに表示できない文字が云々のエラーが出ます.見てみたが変な文字は含まれていないので,該当行を書きなおして保存して再度ビルド.
次はhighgui.hがないと言われ,C:\Program Files\OpenCV\otherlibs\highguiからヘッダファイル一式を\OpenCV\includeにコピー.

再度ビルドで無事通ったので動かしてみたら問題なしでした.
他のプログラムも大丈夫なようで,移行はスムーズに済みました.
VS2005ではWindows SDKが必要だったけど,いらないんでしょうかね?
とりあえず,よしとします.

(追記)
ビルド時に「cv100.dllが見つかりません」というエラーが出た場合,
OpenCVのbinディレクトリにパスがうまく通っていない可能性がある.
システムの環境変数を変更できるなら,
コントロール パネル→システムとメンテナンス→システム
と進み,左側のペインの「システムの詳細設定」をクリックし,
環境変数ボタンのpathに
C:\Program Files\OpenCV\bin
を追記する.(VS2008を再起動して再度ビルド)

環境変数を変更できないなら,
C:\Program Files\OpenCV\binの下にある.dllファイルを
全てプロジェクトディレクトリにコピー.