我已经使用以下命令在我的Linux Ubunbtu 12.04上安装OpenCV 2.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命令。 在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。我无法弄清楚错误。请帮忙。
答案 0 :(得分:1)
这似乎是libav构建系统中的一个错误,而不是OpenCV。因此,要放弃此操作,您可以尝试使用-D WITH_FFMPEG=OFF
无论如何,这篇文章是重复的:Strange linker error while compiling OpenCV2.3.1 on Ubuntu 11.10