LinuxでOpencv 2をコンパイルする.3.1問題点


私のLinuxシステムはubuntu 11です.10,opencvバージョンは2.3.1
コンパイル中に出会った
1.  cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local opencv-src  

     make     #      :

make[2]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_ffmpeg.o] Error 1
make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2
make: *** [all] Error 2
sleegodに感謝します.彼も同じ問題に直面しました.ここで彼のブログを提供します.
http://blog.csdn.net/sleegod/article/details/6957965
便宜上、ここに彼の解決方法を貼り付けます.
解決策:
makeのエラーを確認すると、OpenCV-2.3.0/modules/highgui/src/cap_で問題が発生します.ffmpeg_impl.hppファイルでは、
リファレンスhttps://code.ros.org/trac/opencv/ticket/1020中ffmpeg_build.patchとffmpeg_build_2.patch対cap_ffmpeg_impl.hppファイルのエラー変数を置換し、
便宜上、添付ファイルは修正されたcapです.ffmpeg_impl.hppは、同名の元のファイルを直接置き換えることができ、コンパイルに成功したことをテストしました.
cmake、makeステップを再実行します.コンパイルに成功してもエラーは発生しません.次にsudo make installコマンドのインストールを実行します.インストールプロセスに問題はありません.
2.Qtでopencv、proファイルを使用して追加:
INCLUDEPATH +=/usr/local/include LIBS +=/usr/local/lib/libopencv_core.so.2.3.0/usr/local/lib/libopencv_highgui.so.2.3.0#libファイルはすべてリストされていません
そして正しいcppファイルにヘッダファイルが正しく含まれている場合build、以下のエラーが発生します.
error: undefined reference to av_guess_codec@...............
/usr/include/opencv/cxmisc.h:516: error: ‘CV_DEPTH_MAX’ was not declared in this scope
類似のコンパイルリンクエラーも多く、省略
解決策:
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev libtiff4-dev cmake libswscale-dev libjasper-dev

以上、何かのインストールが欠けている場合は、インストールが完了したらrebuildを実行し、OK!
参照先:http://www.matrixq.net/2011/10/10320.html?utm_source=rss
〔添付ファイル〕http://download.csdn.net/detail/sleegod/3780732