WIN10+CUDA8.0+VS2015+TBB+OPENCV2/3配置方法

踩坑无数天,科学上网找到解决方案。

所需软件下载地址:

NVIDIA驱动:https://www.geforce.cn/drivers 本人是gtx1070,一般用的也都是gtx系列的,让网页自动检查你的显卡给你推荐驱动就行

CUDA:https://developer.nvidia.com/cuda-downloads,想找不同版本的需要点legacy release

VS2015:这个只能自己想办法了

TBB: https://github.com/01org/tbb/releases,我下的是tbb2018_20171205oss

OPENCV:http://opencv.org

这里默认VS自己安装好了

----------------------------------------------------------------------------------------------------------------------------------------------------

先说配置CUDA

首先安装NVIDIA驱动,让网页自动检查即可,下了都默认安装就可以了

然后安装CUDA,选择Windows,x86_64,10,exe[local],然后下载第一个,即cuda_8.0.61_win10.exe。

直接双击安装,全部都默认即可。

安装完成以后,配置环境变量。

在系统变量中添加:

CUDA_PATH = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
CUDA_PATH_V8_0 = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0

上面两个自己就有了
CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0
CUDA_LIB_PATH = %CUDA_PATH%\lib\x64
CUDA_BIN_PATH = %CUDA_PATH%\bin
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64

这五个需要自己添加

添加好以后在系统变量中的PATH里添加:

 %CUDA_LIB_PATH%

%CUDA_BIN_PATH%

%CUDA_SDK_BIN_PATH%

%CUDA_SDK_LIB_PATH%

改完之后重启一次

----------------------------------------------------------------------------------------------------------------------------------------------------

然后是TBB

解压好以后,直接添加环境变量即可

在用户变量的PATH中添加:

D:\configuration\tbb2018_20171205oss\include

D:\configuration\tbb2018_20171205oss\bin\intel64\vc14

在系统变量的PATH中添加:

D:\configuration\tbb2018_20171205oss\bin\intel64\vc14

改完之后重启一次

----------------------------------------------------------------------------------------------------------------------------------------------------

然后是利用CMAKE去编译OPENCV,这也是最容易出问题的一步。我选的opencv都是只能在x64下编译生成的。

首先说OPENCV2,也是我遇到最无解问题的一个版本,借助科学上网看了很多才解决

我选用的是OPENCV2.4.13.2,

解压以后,在source里面找到CMAKELISTS.TXT,在里面加上这个

if (WIN32)
ADD_DEFINITIONS(-DWIN32_LEAN_AND_MEAN)
endif (WIN32)

如果这项不做,之后做出来的东西有可能报错 identifier"IUnknown" is undefined.

并且注释掉set(OPENCV_VCSVERSION "unknown")
   加上set(OPENCV_VCSVERSION "2.4.13.2")

否则由于检查不到版本号,cmake会warning你,强行无视则会在vs里报错

 

打开cmake,选择好路径,点一次configure,选择vs14 win64,vs14指的就是vs2015。

然后取消选择BUILD_DOCS 和‘BUILD_EXAMPLES,取消掉BUILD_PERF_TESTS,检查WITH_CUDA,加上WITH_CUBLAS WITH_OPENGL WITH_TBB。

之后再点一次configure,检查一下TBB路径对不对,我一般懒得检查好像也不会出错。

最后再点一次configure,如果有红色,检查配置是否有问题。没有红色了,就可以点generate了。

找到自己选择的生成opencv+cuda的目录,打开Opencv.sln,不用改x64为x86,因为你在cmake里选的就是win64,乱改会报错。在debug模式下,先生成opencv_core和opencv_gpu试一试,如果出问题先解决一下,主要容易出问题的也是这俩。没问题以后生成ALL_BUILD,ok以后在生成INSTALL。到这一步没问题基本就没问题了,然后换release再走一遍。

然后就是在vs里配置opencv了,这个放到最后再说,先说opencv3如何配置。

 

opencv3我选择的是opencv3.3.1,不过有些功能在contrib里面,所以需要在github上面下载对应版本的contrib。

下完以后,打开cmake,仍然和上面一样选择路径之类的选项,点configure选择内容不变。

然后去掉BUILD_PERF_TESTS,加上OPENCV_EXTRA_MODULES,检查WITH_CUDA,去掉WITH_MATLAB,加上WITH_TBB。不去掉所述两项后面在vs里生成的时候会报错,而且这两项实际上不太影响使用。

再点configure,把该填的路径报错tbb的还有contrib的都填好,然后在configure几次,没有红色了点generate。

同样打开opencv.sln,这里有一点不一样的是,我们要先试一下opencv_core, opencv_bioinspired, opencv_cudaarithm, opencv_cudabgsegm,这几个是生成慢而且容易出问题的。

在debug模式下生成一次ALL_BUILD和INSTALL,再在release模式下生成一次ALL_BUILD和INSTALL。

生成完毕以后最大的难关就通过了。

配置环境变量:

在PATH中添加:opencv_path\install\x64\vc14\bin;

重启电脑

----------------------------------------------------------------------------------------------------------------------------------------------------

然后就是配置VS属性了

在属性管理器里面更改可以使其对新建的所有项目默认生效。

注意要改的是release或是debug的x64版本,x86是用不了这些的。

VC++目录  下的:

包含目录 添加以下内容:

opencv_path\install\include

opencv_path\install\include\opencv

opencv_path\install\include\opencv2

库目录 添加以下内容:

opencv_path\install\build\x64\vc14\lib

在链接器 下的 输入->附加依赖项 添加:

若是opencv2,则为

cudart.lib

opencv_imgproc2413.lib

opencv_calib3d2413.lib

opencv_contrib2413.lib

opencv_core2413.lib

opencv_features2d2413.lib

opencv_flann2413.lib

opencv_gpu2413.lib

opencv_highgui2413.lib

opencv_legacy2413.lib

opencv_ml2413.lib

opencv_nonfree2413.lib

opencv_objdetect2413.lib

opencv_ocl2413.lib

opencv_photo2413.lib

opencv_stitching2413.lib

opencv_superres2413.lib

opencv_ts2413.lib

opencv_video2413.lib

opencv_videostab2413.lib

若是opencv3,则为

opencv_aruco331.lib

opencv_bgsegm331.lib

opencv_bioinspired331.lib

opencv_calib3d331.lib

opencv_ccalib331.lib

opencv_core331.lib

opencv_cudaarithm331.lib

opencv_cudabgsegm331.lib

opencv_cudacodec331.lib

opencv_cudafeatures2d331.lib

opencv_cudafilters331.lib

opencv_cudaimgproc331.lib

opencv_cudalegacy331.lib

opencv_cudaobjdetect331.lib

opencv_cudaoptflow331.lib

opencv_cudastereo331.lib

opencv_cudawarping331.lib

opencv_cudev331.lib

opencv_datasets331.lib

opencv_dnn331.lib

opencv_dpm331.lib

opencv_face331.lib

opencv_features2d331.lib

opencv_flann331.lib

opencv_fuzzy331.lib

opencv_highgui331.lib

opencv_img_hash331.lib

opencv_imgcodecs331.lib

opencv_imgproc331.lib

opencv_line_descriptor331.lib

opencv_ml331.lib

opencv_objdetect331.lib

opencv_optflow331.lib

opencv_phase_unwrapping331.lib

opencv_photo331.lib

opencv_plot331.lib

opencv_reg331.lib

opencv_rgbd331.lib

opencv_saliency331.lib

opencv_shape331.lib

opencv_stereo331.lib

opencv_stitching331.lib

opencv_structured_light331.lib

opencv_superres331.lib

opencv_surface_matching331.lib

opencv_text331.lib

opencv_tracking331.lib

opencv_video331.lib

opencv_videoio331.lib

opencv_videostab331.lib

opencv_xfeatures2d331.lib

opencv_ximgproc331.lib

opencv_xobjdetect331.lib

opencv_xphoto331.lib

cudart.lib

如果用不同的版本,注意要改版本号,如果要用debug版本,所有.lib前面加一个d,除了cudart.lib以外。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值