赞
踩
CUDA版本OpenCV的编译方法
VS2013 + OpenCV3.4.0 + CUDA10.1 + CMake 3.15.5
安装CUDA
从英伟达官网下载CUDA安装程序,
这里选的是10.1版本(官网现在是10.2版本了)
选择network版本的,体积小一些。安装程序后续会自动从官网上下载必要的文件,速度还可以,1~2M每秒。
安装CUDA
一路Next即可,注意一下两点:
选择自定义模式
仅选择CUDA,不要安装里面的Driver
部署OpenCV代码
这里用到的是OpenCV 3.4.0这个版本,解压缩到D盘的根目录(其他目录也可以,最好不要放在C盘,目录中不要有中文)
将源代码的压缩包解压后,创建文件夹sources并将所有的文件拷贝到sources文件夹下,并在同级目录建立一个build文件夹,用于编译代码。
CMAKE配置
打开CMAKE软件,在源文件与目标文件的目录下,分别填入之前的sources和build地址
勾选WITH_CUDA,并点击Configure
弹出的编译器配置会自动选择电脑安装的VS版本,记得选择X64版本,否则后面的代码编译会报错,找不到对应的CUDA库。我自己看了一下,CUDA下X86和X64的库不一样,X86的缺失了太多,功能不全。
Configure结束后,要看一下信息框中的内容,CUDA相关的是否显示已经找到。正确的情况可以看到检测到了CUDA的版本号。
点击Generate生成VS工程文件
这一步比较简单,会在之前build文件夹下,生成OpenCV的工程文件
编译代码
直接点击“生成”中的“生成解决方案”即可,期间会出现一个编译错误
- 错误 1 error MSB3073: 命令“setlocal
-
- "C:\Program Files\CMake\bin\cmake.exe" -DBUILD_TYPE=Debug -P cmake_install.cmake
-
- if %errorlevel% neq 0 goto :cmEnd
-
- :cmEnd
-
- endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
-
- :cmErrorLevel
-
- exit /b %1
-
- :cmDone
-
- if %errorlevel% neq 0 goto :VCEnd
-
- :VCEnd”已退出,代码为 1。 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets 132 5 INSTALL
网上说要用管理员权限运行VS,尝试了一下无果。查资料后得知,要修改INSTALL工程的属性
项目–>属性–>生成事件–>后期生成事件–>在生成中使用–>否
之后就是漫长的编译了……
编译1个多小时的进度
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。