2015-12-21 46 views
8

opencv編譯一些代碼,我得到這個錯誤與OpenCV的編譯代碼 - 在/ usr /斌/勞工處:找不到-lippicv

# g++ txtbin-03.1.cpp -o txtbin `pkg-config opencv --cflags --libs` 
/usr/bin/ld: cannot find -lippicv 
collect2: error: ld returned 1 exit status 

安裝OpenCV的

# apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev 
# apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev 
# cd /var/bin && git clone https://github.com/Itseez/opencv.git && cd opencv 
# cmake . && make -j2 && make install 
+0

你檢查了這個問題和答案嗎? http://stackoverflow.com/questions/25726768/opencv-3-0-trouble-with-installation – akhisp

回答

3

重新編譯的OpenCV採用以下選項:

cmake -DWITH_IPP=ON . && make -j $(nproc) && make install 
+0

在哪裏添加行?無法找到'TARGET_LINK_LIBRARIES('或任何其他線周圍 – clarkk

+0

編譯openCV? –

+0

是..編譯源(github) – clarkk

13

在我的情況下,它只需將libippicv.a從OpenCV SDK複製到/ usr/loca L/lib目錄下:

sudo cp 3rdparty/ippicv/unpack/ippicv_lnx/lib/intel64/libippicv.a /usr/local/lib/ 
+0

這應該是最好的修復方法。 – speedious

0

libippicv.a是一個第三方庫,所以你需要在編譯過程中,明確規定,或讓你的運行環境的一部分。

它位於〜/ OpenCV的/ OpenCV的-3.1.0 /的3rdParty/ippicv /解包/ ippicv_lnx/LIB/Intel64位/

此外,提供的cmake -DWITH_IPP = ON在生成文件生成時。

5

重新編譯整個庫是沒有必要的,特別是如果你不需要這個庫。我發現偉大的即刻工作解決方案here。如果鏈接過期或中斷:

該解決方案僅僅是從opencv pkg-config配置文件中刪除-lippicv。所以你必須找到opencv.pc文件,默認是/usr/local/lib/pkgconfig/目錄。然後從部分Libs:只刪除上述庫。

0

我在嘗試安裝opencv_contrib存儲庫(opencv-3.1.0/Ubuntu 16.04)時遇到了同樣的問題,並且沒有任何解決方案能夠正常工作(我嘗試使OpenCV的標記爲WITH_IPP=ON,但是OpenCV 3.1。 0無法下載ippicv庫(?),並且沒有錯誤提示,因此我只在終端嘗試使用locate ippicv時才知道這一點)。

我的解決辦法是下載另一個OpenCV的版本(3.0.0工作對我來說),使+使用標誌WITH_IPP=ON安裝,然後下載ippicv庫(其現在應該位於/usr/local/share/OpenCV/3rdparty/lib/libippicv.a)複製到/usr/local/lib/

我不知道這是OpenCV 3.1.0中的一個已知錯誤,但是這個絕對值得關注。

相關問題