OpenCVが使えなくてイラッと来たからビルドしてやるぜフハハハハー(成功しない)

発端

別に1.0でもいいのに1.1なんかを入れちゃって.しかも何?PreReleaseっていうの?http://chihara.naist.jp/opencv/?%C6%B0%B2%E8%A5%D5%A5%A1%A5%A4%A5%EB%A1%CAavi%A5%D5%A5%A1%A5%A4%A5%EB%A1%CB%A4%CE%C6%C9%A4%DF%B9%FE%A4%DFを動かそうとしただけだよ.

LDR: LdrpWalkImportDescriptor() failed to probe C:\lib\OpenCV\bin\cxcore110.dll for its manifest, ntstatus 0xc0150002

VS2005で、エラーコード0xc0150002のマニフェスト絡みのエラーが出たら、SP1へのアップグレードでなおる話。 - かせいさんとこが近いと思ったけど,現環境はVC++ EE 2008 の Version 9.0.30729.1 SP ッス.関係ないッス.

今,この環境でビルドしてしまえばいいじゃん,と思った.

導入後の作業

パスを登録する.

  • インクルードファイル
    • c:\lib\OpenCV\cvaux
    • c:\lib\OpenCV\cv
    • c:\lib\OpenCV\cxcore
    • c:\lib\OpenCV\otherlibs\ffopencv
    • c:\lib\OpenCV\otherlibs\highgui
    • c:\lib\OpenCV\ml\include
    • C:\Program Files\Microsoft SDKs\Windows\v6.0\VC\INCLUDE
      • $(WindowsSdkDir)がご機嫌斜めだったため入れた
  • ライブラリファイル

プロジェクトの設定

_make\opencv.vs2005.slnをVS2008形式に変換して開く.OpenCVをOpenMPモードでコンパイルした - デーが大いに役立った.14個あるプロジェクトの内のcvとcxcoreを選択し,プロパティページを開く.「すべての構成」において,構成プロパティ>C/C++>言語を開き,OpenMPサポートを「はい(/openmp)」とする.さらに構成プロパティ>リンカ>入力を開き,追加の依存ファイルを登録する.Debug構成ではvcompd.libを,Release構成ではvcomp.libを追加させる.
omp.hを読むときに _DEBUG を undef する意義が分からないので,これは触らない.

ビルド

メニューバー>ビルド>バッチビルドからプラットフォームがWin32であるもののみを選択し,ビルドを実施する.

結果

失敗した.再実行してみた.失敗する.ビルドログからちょちょいと抜き出す.

1>zlib - エラー 0、警告 0
3>libpng - エラー 0、警告 0
2>cxcore - エラー 0、警告 0
5>libjpeg - エラー 0、警告 0
4>libtiff - エラー 0、警告 1
6>libjasper - エラー 0、警告 54
7>cv - エラー 718、警告 3
8>cxts - エラー 0、警告 0
9>ml - エラー 0、警告 0
10>cvaux - エラー 3、警告 1
12>cxcoretest - エラー 0、警告 0
11>highgui - エラー 0、警告 2
13>cvsample - エラー 0、警告 0
14>cvtest - エラー 1、警告 1
========== すべてリビルド: 11 正常終了、3 失敗、0 スキップ ==========