主要参考:http://blog.csdn.net/u010548772/article/details/77862563
为了安装caffe,需要安装好opencv
之前安装了2.4.13,但在编译caffe时总报错:usr/bin/ld :cannot find -lopencv_dep_cudart
在查找解决方法时发现2.4.11(2.4.12应该也不会)不会出现此问题
主要步骤
1. 下载opencv-2.4.11.zip
2. 安装必要的依赖,依次执行:
$ sudo apt-get update
$ sudo apt-get install -y --no-install-recommends build-essential cmake libavcodec-dev
3. cd opencv-2.4.11
mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_CUDA=ON -D ENABLE_FAST_MATH=ON -D CUDA_FAST_MATH=ON -D WITH_CUBLAS=1 -D WITH_NVCUVID=on -D CUDA_GENERATION=Auto ..
$ make -j12
$ sudo make install
4. 环境变量配置
安装成功后还需要设置opencv的环境变量,打开文件
sudo gedit /etc/profile
在最后一行输入如下内容:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
执行下列命令, 使环境变量立即生效
source /etc/profile
设置lib库路径,打开文件
sudo gedit /etc/ld.so.conf.d/opencv.conf
opencv的库一般安装在’/usr/local/lib’文件夹下,在文件内添加
/usr/local/lib
执行下列命令使之立刻生效
sudo ldconfig
遇到的问题
1.
CUDA_nvcuvid_LIBRARY (ADVANCED)
linked by target "opencv_gpu" in directory
解决方法:http://opencv-users.1802565.n2.nabble.com/CUDA-cmake-error-when-when-running-WITH-CUDA-on-linux-td7582657.html
sudo ln -s [path_to_libnvcuvid.so] /usr/lib/libnvcuvid.so
其中path to libnvcuvid.so为libnvcuvid的路径
比如:
/usr/lib/nvidia-current/libnvcuvid.so
问题原因是:
CMake was not able to find the library
libnvcuvid.so. The solution was to add a symbolic link in /usr/lib to
the library file.
2.
make[2]: *** [modules/gpu/CMakeFiles/opencv_gpu.dir/src/graphcuts.cpp.o]
解决方法:http://blog.csdn.net/qq_14839543/article/details/73293370
打开graphcuts.cpp文件,修改graphcuts.cpp里面的
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
为
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)
然后继续
make -j8