0

次のコマンドを使用して、LinuxUbunbtu12.04にOpenCV2.4.3をインストールしました。

cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=OFF -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D OPENCV_BUILD_3RDPARTY_LIBS=ON -D WITH_FFMPEG=ON -D WITH_GTK=ON -D WITH_OPENEXR=ON -D WITH_OPENNI=ON -D WITH_PNG=ON -D WITH_TBB=ON -D WITH_XINE=ON -D WITH_GSTREAMER=ON .

その後にmakeコマンドが続きます。作成中に、次のエラーが発生します。

Linking CXX shared library ../../lib/libopencv_highgui.so
/usr/bin/ld: /usr/local/lib/libavcodec.a(avpacket.o): relocation R_X86_64_32S against     
`av_destruct_packet' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libavcodec.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [lib/libopencv_highgui.so.2.4.0] Error 1
make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2
make: *** [all] Error 2

Linuxを更新しました。エラーがわかりません。助けてください。

4

1 に答える 1

1

OpenCVではなく、libavビルドシステムのバグのようです。したがって、これを破棄するには、で再コンパイルを試みることができます-D WITH_FFMPEG=OFF

とにかくこの投稿は重複しています:Ubuntu11.10でOpenCV2.3.1をコンパイルしているときに奇妙なリンカーエラーが発生しました

于 2013-01-17T11:04:58.273 に答える