Linux Mint 13/Ubuntu 12.04 配置CUDA 4.2 & OpenCV 2.4.2 方法
原创文章,转载请注明出处
安装平台:Mint 13 64 bit, Ubuntu 12.04同样适用,其他Linux distributions 根据情况做相应修改
CUDA 的安装
1. 从NVIDIA官网下载驱动
Toolkit(选Ubuntu 11.04 64bit),Driver, SDK
2. 安装其他依赖的库文件
sudo apt-get install g++ build-essential sudo apt-get install freeglut3-dev libx1-dev libxmu-dev libxi-dev libgl1-mesa-glx libgl1-mesa-dev sudo apt-get install libopencv-dev sudo apt-get install build-essential checkinstall cmake pkg-config yasm sudo apt-get install libtiff4-dev libjpeg-dev libjasper-dev sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev sudo apt-get install python-dev python-numpy sudo apt-get install libtbb-dev sudo apt-get install libqt4-dev libgtk2.0-dev
3. 安装显卡驱动
需要先关闭x window, Mint 13 的方法,其他的步骤在此就不写了,网上有很多linux安装显卡驱动的教程
1 sudo killall mdm
4. 安装tookit 和 SDK
都是.sh 文件,直接用sh命令默认位置安装即可
然后添加环境变量
在 .bashrc 文件中添加下面的语句
export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/usr/lib/nvidia-current:$LD_LIBRARY_PATH export CUDA_ROOT=/usr/local/cuda/bin
安装完SDK(NVIDIA_GPU_Computing_SDK)后,默认是安装在用户名字的目录下
进入NVIDIA_GPU_Computing_SDK文件夹
然后输入make命令
sudo make
会看到如下错误
http://www.cnblogs.com/lib/librendercheckgl_x86_64.a(rendercheck_gl. cpp.o): In function `CheckBackBuffer::checkStatus(char const*, int, bool)':rendercheck_gl.cpp:(.text+0xfbb): undefined reference to `gluErrorString'
通过如下步骤修复错误
1)更改 /C/common/common.mk 和 /CUDALibraries/common/common_cudalib.mk 二个文件中 RENDERCHECKLIB 的位置,注意是这二个文件中所有出现RENDERCHECKLIB的地方,顺序修改方法如下(示例,其他地方仿照都把RENDERCHECKLIB移到最前方)
原文件内容
LIB += ${OPENGLLIB} $(PARAMGLLIB) $(RENDERCHECKGLLIB) ${LIB} -ldl -rdynamic
修改后应该为
LIB += $(RENDERCHECKGLLIB) ${OPENGLLIB} $(PARAMGLLIB) ${LIB} -ldl –rdynamic
并且修改 common_cudalib.mk 文件中RENDERCHECKGLLIB文件的定义如下
原来内容
RENDERCHECKGLLIB := -lrendercheckgl_$(LIB_ARCH)$(LIBSUFFIX)
修改后变为
RENDERCHECKGLLIB := -Lhttp://www.cnblogs.com/../C/lib -lrendercheckgl_$(LIB_ARCH)$(LIBSUFFIX)
2)修改boxFilterNPP, imageSegmentationNPP, freeImageInteropNPP,histEqualizationNPP 中的Makefile,修改UtilNPP的顺序
进入路径/CUDALibraries/src/*NPP/Makefile,然后修改如下(以freeImageInteropNPP为例)
修改前
$(CXX) $(INC) $(LIB) -o freeImageInteropNPP freeImageInteropNPP.cpp -lUtilNPP_$(LIB_ARCH) -lfreeimage$(FREEIMAGELIBARCH)
修改后
$(CXX) $(INC) -o freeImageInteropNPP freeImageInteropNPP.cpp $(LIB) -lUtilNPP_$(LIB_ARCH) -lfreeimage$(FREEIMAGELIBARCH)
3)对于randomFog的Makefile,需要添加如下语句
USERENDERCHECKGL := 1
修复完成。
再次进入NVIDIA_GPU_Computing_SDK文件夹
make
可以查看CUDA版本
nvcc -V
然后进入NVIDIA_GPU_Computing_SDK/C
sudo make
到NVIDIA_GPU_Computing_SDK/C/bin/linux/release查看device
deviceQuery
在次文件夹下可以运行示例程序
提醒:在配置过程中如果遇到缺少某个库文件的时候用apt-get install 安装所缺的东西即可。在运行示例程序之前最好重新安装一边显卡驱动,然后重启。
Good Luck!
关于OpenCV 中配置CUDA参考下篇日志
posted on 2012-09-25 17:12 Never more 阅读(1324) 评论(1) 收藏 举报
浙公网安备 33010602011771号