web-dev-qa-db-fra.com

compiler le code avec opencv -/usr/bin/ld: impossible de trouver -lippicv

En compilant du code avec opencv j'obtiens cette erreur

# 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

installer 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
9
clarkk

Recompiler OpenCv en utilisant l’option suivante:

cmake -DWITH_IPP=ON . && make -j $(nproc) && make install
4
Dipak D Desai

Dans mon cas, il suffisait de copier libippicv.a du SDK OpenCV vers/usr/local/lib:

Sudo cp 3rdparty/ippicv/unpack/ippicv_lnx/lib/intel64/libippicv.a /usr/local/lib/
14
iowarod

Recompiler toute la bibliothèque n’est pas nécessaire, surtout si vous n’avez pas besoin de cette bibliothèque. J'ai trouvé la solution idéale et qui fonctionne instantanément ici . Si le lien a expiré ou s'est rompu:

La solution consiste simplement à supprimer -lippicv du fichier de configuration opencv pkg-config. Vous devez donc localiser le fichier opencv.pc, qui est par défaut dans le répertoire /usr/local/lib/pkgconfig/. Ensuite, dans la section Libs:, supprimez simplement la bibliothèque susmentionnée. 

5
hurin

libippicv.a est une bibliothèque tierce. Vous devez donc la fournir explicitement lors de la compilation ou l'intégrer à votre environnement d'exécution.

Il se trouve dans ~/OpenCV/opencv-3.1.0/3ème partie/ippicv/unpack/ippicv_lnx/lib/intel64 /

Aussi, fournissez cmake -DWITH_IPP = ON au moment de la génération du Makefile.

0
H.B

J'avais le même problème en essayant d'installer le référentiel opencv_contrib (opencv-3.1.0/Ubuntu 16.04), et aucune des solutions ne fonctionnait (j'ai essayé de créer OpenCV avec l'indicateur WITH_IPP=ON, mais OpenCV 3.1.0 n'a pas pu être téléchargé. la bibliothèque ippicv (?) et il n'y avait pas d'erreur d'erreur, donc je ne l'ai compris que lorsque j'ai essayé de locate ippicv dans le terminal).

Ma solution consistait à télécharger une autre version d'OpenCV (la version 3.0.0 fonctionnait pour moi), à make + make install avec l'indicateur WITH_IPP=ON, puis à copier la bibliothèque ippicv téléchargée (qui devrait maintenant se trouver dans /usr/local/share/OpenCV/3rdparty/lib/libippicv.a) à /usr/local/lib/.

Je ne sais pas s'il s'agit d'un bogue connu d'OpenCV 3.1.0, mais celui-ci mérite certainement d'être surveillé.

0
zeklewa