Windows 7 64bitでのVisual Studio 2005+OpenCV+Boost開発環境

Windows x64での開発環境を整える必要があったのでメモ。

  • Windows 7 64bit (XPがなかった…)
  • Visual Studio 2005 Professional Edition
  • OpenCV 2.1
  • Boost 1.43

Visual Studio 2005 インストール
デフォルトだと x64 関係のツールだけチェックが外れているのでカスタムインストールorフルインストールする。いきなりこれで躓いていたのは秘密。
Visual Studio 64 ビット コンポーネントのインストール | Microsoft Docs

Visual C++ には、x64 用のコンパイラ、Windows 64 ビット コンピューター用のツール、および 64 ビット ランタイム .dll (msvcr80.dll、msvcm80.dll、msvcp80.dll など) のインストール オプションが用意されています。これらのコンポーネントをインストールするには、完全インストールを実行するか、カスタム インストール中に [x64 コンパイラおよびツール] チェック ボックスをオンにします。

Visual Studio 2005 Service Pack 1 インストール。
http://www.microsoft.com/japan/msdn/vstudio/downloads/sp/vs2005/sp1/

Visual Studio 2005 Service Pack 1 Update for Windows Vista インストール。
名前はfor VistaだけどWindows 7も対応。
Download Visual Studio 2005 Service Pack 1 Update for Windows Vista from Official Microsoft Download Center


Boost インストール
Visual Studio 2005 x64 Cross Tools Command Prompt から
> bootstrap.bat
> bjam address-model=64 --build-type=complete
デフォルトだとマルチスレッド版スタティックライブラリがなかったので全部ビルド。
かなり時間がかかるので、ちゃんと必要な分だけオプションで指定すべきかな…
c++ - How do you build the x64 Boost libraries on Windows? - Stack Overflow
http://www.yoshibaworks.com/ayacy/inasoft/talk/h200704a.html


OpenCV2.1 インストール
基本的に下記の記事に載っている手順そのまま。
OpenCV 2.0 入手、ダウンロード、インストール、環境設定 画像処理ソリューション
CMake で Configureするときは、Visual Studio 2005 x64 を選択。
VC8 だと対応していないSSE3関係でエラーがでる。
cvinternal.h の
#if defined __SSE3__ || _MSC_VER >= 1400 を
_MSC_VER >= 1500 に変更して対応。
OpenCV 2.1/SIMD SSE Visual Studio2005コンパイルエラー対策: きじばと日記

うーん諸悪は Visual Studio 2005 を使っているところにある気がしてきた。