2015-12-21 27 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中的一个已知错误,但是这个绝对值得关注。

相关问题