0

我使用以下命令在我的 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 命令。在制作过程中,我收到以下错误。

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

这似乎是 libav 构建系统中的一个错误,而不是 OpenCV。因此,要丢弃它,您可以尝试重新编译-D WITH_FFMPEG=OFF

无论如何,这篇文章是重复的:在 Ubuntu 11.10 上编译 OpenCV2.3.1 时出现奇怪的链接器错误

于 2013-01-17T11:04:58.273 回答