一.准备工作
如果前期已经通过了caffe编译,连接了caffe与python,我们需要先将之前的编译清除,如果没有,就不需要多此一举
cd caffe
sudo make clean
然后我们要修改Makefile.config配置文件。在之前安装caffe的时候,已经在我的博客里详细记录了需要修改的地方,现在只需修改matlab的路径。
将MATLAB_DIR的注释去除,并在将路径修改为:MATLAB_DIR := /usr/local/MATLAB/R2016b
如下图所示:
二.编译
cd caffe
sudo make all
sudo make test
sudo make pycaffe
sudo make runtest
sudo make matcaffe
sudo make mattest
三.问题报错及解决办法
解决办法:
sudo gedit ~/.bashrc
在打开的文本的最下方加入一下内容:
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:/usr/lib/x86_64-linux-gnu/libfreetype.so.6
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/
请注意自己的cuda版本号
sudo cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /usr/local/lib/libcudart.so.8.0 && sudo ldconfig
sudo cp /usr/local/cuda-8.0/lib64/libcublas.so.8.0 /usr/local/lib/libcublas.so.8.0 && sudo ldconfig
sudo cp /usr/local/cuda-8.0/lib64/libcurand.so.8.0 /usr/local/lib/libcurand.so.8.0 && sudo ldconfig
若此时在make mattest 还出问题的话 采用暴力解决方案:
将 usr/local/MATLAB/R2016b/bin/glnxa64 中以下三个文件删除。(建议删除前进行备份)
libopencv_core.so.2.4
libopencv_highgui.so.2.4
libopencv_imgproc.so.2.4
解决办法:
sudo ldconfig /usr/local/cuda/lib64
解决办法:
sudo rm /usr/local/MATLAB/R2016b/sys/os/glnxa64/libstdc++.so.6
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/local/MATLAB/R2016b/sys/os/glnxa64/libstdc++.so.6
当以上问题解决以后,在进入caffe文件夹,重新编译mattest。成功通过编译会显示出一下画面: