方法基本参考
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