Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用opencv-/usr/bin/ld编译代码:找不到-lippicv_C++_Opencv - Fatal编程技术网

C++ 使用opencv-/usr/bin/ld编译代码:找不到-lippicv

C++ 使用opencv-/usr/bin/ld编译代码:找不到-lippicv,c++,opencv,C++,Opencv,当使用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 安装opencv 使用以下选项重新编译OpenCv: cmake -DWITH_IPP=ON . && make -j $(nproc) &

当使用
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
安装opencv
使用以下选项重新编译OpenCv:

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

就我而言,只需将libippicv.a从OpenCV SDK复制到/usr/local/lib即可:

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

libippicv.a是第三方库,因此您需要在编译期间显式提供它,或者将其作为执行环境的一部分

它位于~/OpenCV/OpenCV-3.1.0/3rdparty/ippicv/unpack/ippicv_lnx/lib/intel64/


另外,在生成Makefile时提供cmake-DWITH_IPP=ON

无需重新编译整个库,尤其是在不需要此库的情况下。我发现了一个很好的解决方案。如果链接过期或断开:


解决方案只是从opencv pkg配置文件中删除
-lippicv
。因此,您必须找到
opencv.pc
文件,该文件默认位于
/usr/local/lib/pkgconfig/
目录中。然后从
Libs部分:
删除前面提到的库

我在尝试安装opencv_contrib存储库(opencv-3.1.0/Ubuntu 16.04)时遇到了同样的问题,但所有解决方案都不起作用(我尝试使用和上的_IPP=ON来制作opencv,但不知何故opencv 3.1.0未能下载
ippicv
库(?)并且没有错误提示,所以我只是在尝试
在终端中定位ippicv
时才发现这一点

我的解决方案是下载另一个OpenCV构建(3.0.0适合我),使用标志
和_IPP=ON
进行make+make安装,然后将下载的ippicv库(现在应该位于
/usr/local/share/OpenCV/3rdparty/lib/libippicv.a
复制到
/usr/local/lib/


我不知道这是否是OpenCV 3.1.0中的一个已知错误,但这一个绝对值得注意。

您检查过这个问题和答案吗?在哪里添加行?找不到
目标链接库(
或您编译openCV周围的任何其他行?是的,因此在编译期间,您可以在lippicv Library上使用以下选项编译openCV:with_IPP=on,但我找不到将该行添加到
CMakeLists.txt:
…当我搜索文本文件时,我找不到
目标链接库
这应该是最好的修复方法。
sudo cp 3rdparty/ippicv/unpack/ippicv_lnx/lib/intel64/libippicv.a /usr/local/lib/