2015-12-21 10 views
8

Podczas kompilowania kodu z opencv otrzymuję ten błądkompilacji kodu z OpenCV -/usr/bin/ld: nie można odnaleźć -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 

Instalowanie 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

Czy sprawdziłeś to pytanie i odpowiedzi? http://stackoverflow.com/questions/25726768/opencv-3-0-trouble-with-installation – akhisp

Odpowiedz

3

Przekompiluj OpenCV użyciu następujących opcji :

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

Gdzie dodać linię? Nie mogę znaleźć 'TARGET_LINK_LIBRARIES (' lub którykolwiek z pozostałych liniach arround – clarkk

+0

Czy kompilowanie OpenCV –

+0

tak .. kompilacji od źródła (github) – clarkk

13

W moim przypadku wystarczy skopiować libippicv.a z SDK OpenCV do/usr/loca l/lib:

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

powinno to być najlepszą poprawką. – speedious

0

libippicv.a jest biblioteką osoba trzecia, więc trzeba jawnie dostarczyć podczas kompilacji lub uczynić to część środowiska wykonawczego.

Znajduje się w ~/OpenCV/OpenCV-3,1,0/3rdParty/ippicv/rozpakować/ippicv_lnx/lib/Intel64/

zapewnić również cUpewnij -DWITH_IPP = ON w czasie wytwarzania Makefile .

5

Rekompilacja całej biblioteki nie jest konieczna, szczególnie jeśli nie potrzebujesz tej biblioteki. Znalazłem świetne i od razu działające rozwiązanie here. W przypadku, gdy link wygasł lub zepsuł się:

Rozwiązaniem jest po prostu usunięcie -lippicv z pliku konfiguracyjnego opencv pkg-config. Musisz więc znaleźć plik opencv.pc, który domyślnie znajduje się w katalogu /usr/local/lib/pkgconfig/. Następnie z sekcji Libs: wystarczy usunąć wspomnianą wcześniej bibliotekę.

0

Wystąpił ten sam problem podczas próby zainstalowania repozytorium opencv_contrib (opencv-3.1.0/Ubuntu 16.04) i żadne z rozwiązań nie działało (próbowałem utworzyć OpenCV z flagą WITH_IPP=ON, ale w jakiś sposób OpenCV 3.1. 0 nie udało się pobrać biblioteki ippicv (?) I nie pojawił się komunikat o błędzie, więc udało mi się to ustalić tylko wtedy, gdy próbowałem uzyskać terminal locate ippicv.

Moje rozwiązanie było pobrać kolejny build OpenCV (3.0.0 pracował dla mnie), upewnij + make install z flagą WITH_IPP=ON, a następnie skopiować pobrany ippicv biblioteki (który powinien znajdować się w /usr/local/share/OpenCV/3rdparty/lib/libippicv.a teraz) do /usr/local/lib/.

Nie wiem, czy jest to znany błąd w OpenCV 3.1.0, ale ten zdecydowanie warto mieć na oku.

Powiązane problemy