方法基本参考

https://blog.csdn.net/autoliuweijie/article/details/53561473

上的步骤,此处不再赘述。

1.cmake过程中需要下载protobuf-cpp-3.1.0.tar.gz这个压缩包,网络原因下载不下来。

上网查全部都是从CSDN下载,需要下载积分(然而我并没有o(╥﹏╥)o)

后来发现原来这个在github上就有,在https://github.com/google/protobuf/releases?after=v3.2.0rc2

点击下载即可,或者在终端输入

wget https://github.com/google/protobuf/releases/download/v3.1.0/protobuf-cpp-3.1.0.tar.gz

进行下载之后放到~/opencv-3.2.0/opencv_contrib-3.2.0/modules/dnn/.download/bd5e3eed635a8d32e2b99658633815ef/v3.1.0(此处就是opencv_contrib-3.2.0下的文件夹,只是因为我在编译前为了方便将它拖到opencv安装包下,.download隐藏文件看不到就Ctrl+h显示此隐藏文件),替换原有0M的protobuf-cpp-3.1.0.tar.gz文件即可。继续编译安装,没有问题~

2. fatal error: LAPACKE_H_PATH-NOTFOUND/lapacke.h: No such file or directory #include “LAPACKE_H_PATH-NOTFOUND/lapacke.h”
原因:未找到lapacke.h文件
方法:
sudo apt-get install liblapacke-dev checkinstall
修改出现问题的文件,例如我的文件是
opencv-3.2.0/build/opencv_lapack.h
将第二行中的#include"LAPACKE_H_PATH-NOTFOUND/lapacke.h" 修改为#include"lapacke.h"即可

(此处是参考 https://blog.csdn.net/Dead_Rabbit6_0/article/details/78044754)

3. 安装opencv3.4.1并配置opencv-contrib文件时,遇到错误:

 Unknown CMake command "ocv_append_source_files_cxx_compiler_options"

原因: opencv主文件和contrib文件版本不一致,我的这个一个是3.4.0,一个是3.4.1

方法:重新在opencv github上下载3.4.1版本的opencv和opencv-contrib进行编译安装,问题解决.

4. ippicv_linux_20151201.tgz压缩包下载不下来,一直卡在 ICV: Downloading ippicv_linux_20151201.tgz...最后报错.

  CMake Error at 3rdparty/ippicv/downloader.cmake:73 (file):
    file DOWNLOAD HASH mismatch
原因: 外网下载慢甚至是下载不下来.

方法: 另行下载,这篇博客上有下载地址

5. 安装opencv3.1时报错: error: ‘nppiGraphcut8GetSize’ was not declared in this scope
     nppSafeCall( nppiGraphcut8GetSize(sznpp, &bufsz) );

原因:这是由于opecv3.1与cuda8.0不兼容导致的。

方法:修改 /opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp 文件内容,如图:

第45行  #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)

改为:  #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION>=8000)

6. caffe安装后仍报错: error while loading shared libraries: libopencv_core.so.3.1: cannot open shared object file: No such file or directory

参考:博客

原因:系统找不到libopencv_core.so.3.1在哪儿,而系统是通过/etc/ld.so.conf中的路径找.so这个文件的。将libopencv_core.so.3.1的路径加入到.conf文件中就可以了。安装opencv时.so文件存放在/usr/local/lib目录下,可以进入此目录查看。

方法:

 

cd ~                             
sudo gedit /etc/ld.so.conf         

 

 打开编辑ld.so.conf文件,在末尾添加/usr/local/lib后保存,关闭终端输入以下语句使之生效即可

sudo ldconfig