OpenCV,3.4.2+VS2015+CUDA10.1+contrib环境搭建
首先安装VS2015,cuda10.1,以及对应Cuda10.1的cudnn
可以去别的地方查找方法,不再赘述。
安装较新的win10 SDK
提供给opencv开发的各种头文件,但是不要太新,因为目前最新版本的SDK只支持VS2017及以上版本。
网址:https://developer.microsoft.com/en-us/windows/downloads/sdk-archive/
我这里用的是
Windows 10 SDK (10.0.10586.212) and Microsoft Emulator for Windows 10 mobile (10.0.10586.11)
以及
Windows 10 SDK, version 1809 (10.0.17763.0) Released in conjunction with Windows 10, version 1809. Includes servicing updates 10.0.17763.132.
两个我都装了。但是你可能已经装好了,但是VS studio没有发现,所以你需要卸载以前你装好的,重新装一下,不然可能会报错。
Cmake
选择vc14 VS2015 x64位
先configure一次,然后在出现的选项里选择:
注意这里的目录是contrib里面modules的目录,不要只包含到外层目录。
D:\DevTools\Opencv342\opencv_contrib\modules
遇到一个警告:
Call Stack (most recent call first):
D:/DevTools/Opencv342/opencv_contrib/modules/face/CMakeLists.txt:13 (ocv_download)
CMake Warning at D:/DevTools/Opencv342/opencv_contrib/modules/face/CMakeLists.txt:26 (message):
Face: Can't get model file for face alignment.
我们打开生成工程的目录,在 CMakeDownloadLog.txt 文件夹下发现:
#cmake_download "D:/DevTools/Opencv342/sources/.cache/data/7505c44ca4eb54b4ab1e4777cb96ac05-face_landmark_model.dat" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat"
# timeout on name lookup is not supported
# getaddrinfo(3) failed for raw.githubusercontent.com:443
# Couldn't resolve host 'raw.githubusercontent.com'
# Closing connection 0
#
说明我们需要自己根据这个网站手动下载(需要梯子)。
下载好以后,丢到需要的目录下,再次configure
然后就Generate生成,并通过Open Project打开项目文件。
之后编译就好了。
如果一堆链接错误问题,很可能是平台工具集,把比较早的工具集卸载掉,就好了。