使用opencv
编译某些代码时出现此错误
# 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
# 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 :(得分:14)
就我而言,只需将libippicv.a从OpenCV SDK复制到/ usr / local / lib:
sudo cp 3rdparty/ippicv/unpack/ippicv_lnx/lib/intel64/libippicv.a /usr/local/lib/
答案 1 :(得分:5)
不需要重新编译整个库,特别是如果您不需要此库。我发现了很好的即时解决方案here。如果链接已过期或中断:
解决方案只是从opencv pkg-config配置文件中删除-lippicv
。因此,您必须找到opencv.pc
文件,默认位于/usr/local/lib/pkgconfig/
目录中。然后从Libs:
部分删除上述库。
答案 2 :(得分:4)
使用以下选项重新编译OpenCv:
cmake -DWITH_IPP=ON . && make -j $(nproc) && make install
答案 3 :(得分:0)
libippicv.a 是第三方库,因此您需要在编译期间明确提供它或使其成为执行环境的一部分。
它位于〜/ OpenCV / opencv-3.1.0 / 3rdparty / ippicv / unpack / ippicv_lnx / lib / intel64 /
此外,在Makefile生成时提供cmake -DWITH_IPP = ON 。
答案 4 :(得分:0)
我在尝试安装opencv_contrib存储库(opencv-3.1.0 / Ubuntu 16.04)时遇到了同样的问题,并且没有一个解决方案有效(我试图用标志WITH_IPP=ON
制作OpenCV,但不知何故OpenCV 3.1.0无法下载ippicv
库(?),并且没有错误提示,因此我在终端尝试locate ippicv
时才想到这一点。
我的解决方案是下载另一个OpenCV版本(3.0.0为我工作),make + make install with flag WITH_IPP=ON
,然后复制下载的ippicv库(应该位于/usr/local/share/OpenCV/3rdparty/lib/libippicv.a
到现在为止)/usr/local/lib/
。
我不知道这是否是OpenCV 3.1.0中的一个已知错误,但是这个肯定值得关注。