OpenCV 2.4.5のビルドでリンクエラーが出る場合の対処法
私の環境(WindowsXP、VisualStudio2010、OpenCV 2.4.5)ではうまくいった、という一例です。
出ていたリンカのエラーは↓下記です。
error LNK2019: 未解決の外部シンボル _cvReleaseImage が関数 _main で参照されました。
error LNK2019: 未解決の外部シンボル _cvWaitKey が関数 _main で参照されました。
error LNK2019: 未解決の外部シンボル _cvShowImage が関数 _main で参照されました。
error LNK2019: 未解決の外部シンボル _cvMoveWindow が関数 _main で参照されました。
error LNK2019: 未解決の外部シンボル _cvNamedWindow が関数 _main で参照されました。
error LNK2019: 未解決の外部シンボル _cvLoadImage が関数 _main で参照されました。
リンカの設定に、libのディレクトリとlibのファイル名を指定することで、うまくいきました。
ソリューション エクスプローラのプロジェクト名を右クリック
→プロジェクトのプロパティページ
-構成プロパティ
-リンカー
-全般 → 追加のライブラリディレクトリ
上記に
(あなたの環境のOpenCVの場所)\build\x86\vc10\lib
を指定します。
(パスに含まれている、アーキテクチャとかVisualStudioのバージョンとかの文字列は、お手元の環境に適宜合わせてください)
-構成プロパティ
-リンカー
-入力 → 追加の依存ファイル
に、さっき指定した「追加のライブラリディレクトリ」に入っているlibファイルをすべて指定する↓
つまり、下記をすべて指定しました。
opencv_calib3d245.lib
opencv_calib3d245d.lib
opencv_contrib245.lib
opencv_contrib245d.lib
opencv_core245.lib
opencv_core245d.lib
opencv_features2d245.lib
opencv_features2d245d.lib
opencv_flann245.lib
opencv_flann245d.lib
opencv_gpu245.lib
opencv_gpu245d.lib
opencv_haartraining_engine.lib
opencv_haartraining_engined.lib
opencv_highgui245.lib
opencv_highgui245d.lib
opencv_imgproc245.lib
opencv_imgproc245d.lib
opencv_legacy245.lib
opencv_legacy245d.lib
opencv_ml245.lib
opencv_ml245d.lib
opencv_nonfree245.lib
opencv_nonfree245d.lib
opencv_objdetect245.lib
opencv_objdetect245d.lib
opencv_photo245.lib
opencv_photo245d.lib
opencv_stitching245.lib
opencv_stitching245d.lib
opencv_superres245.lib
opencv_superres245d.lib
opencv_ts245.lib
opencv_ts245d.lib
opencv_video245.lib
opencv_video245d.lib
opencv_videostab245.lib
opencv_videostab245d.lib
上記を指定後に、ビルドしてみたところうまくいきました。
【補足&経緯】
第2回 OpenCVを使ってみよう:OpenCVで学ぶ画像認識|gihyo.jp … 技術評論社
上記に書いてある内容をベースにいろいろ試していたのですが、
続いて,「構成」を「Debug」に変更し,「リンカ」タブを展開した中の「入力」を選択し,「追加の依存ファイル」で"cxcore.lib cv.lib highgui.lib cvaux.lib"を追加します。
のところからうまくいかなかったんですよね。
というのも、自分がダウンロードしたOpenCVのファイルに
"cxcore.lib"
"cv.lib"
"highgui.lib"
"cvaux.lib"
などのファイルが含まれていなかったんです。
で、それっぽい感じがした ...\build\x86\vc10\lib\ の中身をリンクしてみたところ、うまくいったという次第。libのファイル名が変更されたんでしょうか(?)。
正直、自分はVisualStudioの開発環境やOpenCVに詳しいわけでもなんでもないので、このやり方が良い方法なのかどうかは、よくわかりません。
でも、上記「第2回 OpenCVを使ってみよう」のサンプルや、下記のサンプルは無事動かすことができました。
opencv.jp - OpenCV: 計算幾何(Computational Geometory)サンプルコード -
とりあえず、めでたしということで。
« ローラは障害者を嘲笑したのか(動画あり) | トップページ | 「GDAL」の読み方は「グードゥル」または「グーダル」(そして「ジーダル」でも「ジードール」でも可) »
「パソコン・インターネット」カテゴリの記事
- AviUtl+VobSubでDVDの字幕が大幅にずれるときの対処方法(2018.11.03)
- Z-Waveの読み方はズィーウェイブ(2017.06.06)
- ImageMagick 7で複数ファイルのトリミングを行う(2017.03.08)
- AcrobatのPNG保存で「ディスク容量容量が不足している可能性があります」のエラーが出るときは、RGBプロファイルの埋め込みをオフにしてみる(2017.03.07)
- ポケモンGOのやめ方 ~ポケGO廃人になる前に~(2017.02.28)
「日記・コラム・つぶやき」カテゴリの記事
- 問い合わせに対する見事な対応(東急バス、京急バス、小田急バス)(2022.11.27)
- 年に一度のテスト(2021.09.04)
- カブトムツの森(2019.12.22)
- 禁煙の駐車場でも、車内でなら吸ってもOK(2019.10.06)
- 敵エージェントにリアルキャプチャされる(Ingress)(2017.09.02)
« ローラは障害者を嘲笑したのか(動画あり) | トップページ | 「GDAL」の読み方は「グードゥル」または「グーダル」(そして「ジーダル」でも「ジードール」でも可) »
コメント