2013-05-01 52 views
2

我試圖在Ubuntu 12.04 安裝OpenCV 2.4.5我嘗試下面就http://opencv.willowgarage.com/wiki/InstallGuide_Linuxopencv的2.4.5做出錯誤

步驟但是當我到達化妝步驟。我收到一個錯誤。我是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 

請幫助!

+0

我很確定這個鏈接已經過時 – 2013-05-01 16:16:23

+2

@peterretief對,好的是[here](http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html) – StreakyCobra 2013-05-01 18:03:31

回答

5

看來ffmpeg是罪魁禍首。不知何故,它創造了一些問題。我卸載了ffmpeg並按照上述說明安裝了OpenCV。現在我安裝了OpenCV 2.4.5,但沒有FFMPEG支持。但至少它正在工作!

編輯:
我也跟着上http://www.ozbotz.org/opencv-installation/ OpenCV的2.4.5說明現在安裝正確。我在64位Ubuntu 12.04由於--enable-shared --enable-pic參數在lib264和ffmpeg編譯命令中丟失,所以在問題中提到了錯誤。

按照這些說明解決了問題。

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 
+0

thnx! :)我遵循這些步驟,但最初無法安裝它。卸載ffmpeg,它工作。 – 2013-05-01 21:25:39