Opencv 2.4.5出错

时间:2013-05-01 15:54:57

标签: opencv ubuntu

我正在尝试在Ubuntu 12.04上安装opencv 2.4.5 我尝试按照http://opencv.willowgarage.com/wiki/InstallGuide_Linux

上的步骤操作

然而,当我到达制作步骤时。我收到了一个错误。我是linux的新手。

错误是

Linking CXX shared library ../../lib/libopencv_highgui.so
/usr/bin/ld: /usr/local/lib/libavcodec.a(avpacket.o): relocation R_X86_64_32 against `.rodata.str1.1' 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.5] Error 1
make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2
make: *** [all] Error 2

请帮助!!!

2 个答案:

答案 0 :(得分:5)

似乎ffmpeg是罪魁祸首。不知何故,它创造了一些问题。我按照上面提到的说明卸载了ffmpeg并安装了OpenCV。现在我安装了OpenCV 2.4.5而没有FFMPEG支持。但至少它正在发挥作用!

编辑:
我按照http://www.ozbotz.org/opencv-installation/上的说明进行操作 OpenCV 2.4.5现已正确安装。我在64位Ubuntu 12.04上由于lib264和ffmpeg编译命令中缺少--enable-shared --enable-pic参数,因此抛出了问题中提到的错误。

按照这些说明解决了问题。

答案 1 :(得分:1)

GCC

$ sudo apt-get update
$ sudo apt-get install build-essential

如果可用,请使用更高版本(确保您的硬件和操作系统版本正确

的CMake:
 http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz

$ tar -xf cmake-2.8.10.2.tar.gz
$ cd cmake-2.8.10.2
$ ./configure
$ make -j4
$ sudo make install

opencv的:     http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.3/OpenCV-2.4.3.tar.bz2/download

$ tar -xf OpenCV-2.4.3.tar.bz2
$ cd OpenCV-2.4.3
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=Release ..
$ make -j4
$ sudo make install