OpenCV+Cuda+Cmake+VStudio配置记录
前后配这玩意三次,一直挺头疼,最近项目原因不得不又配了一遍,遂下定决心写一下坑点
前置安装
CMake编译Opencv(VS2022)
这步请提前确定好cuda和cudnn的版本对应,cuda版本和电脑环境的版本兼容,cuda和vs的版本对应(大坑,比如cuda11.3不支持vs2022!)
查看系统支持的cuda版本:
输入win+r,输入cmd,打开命令提示符窗口,输入:
nvidia-smi
注意这里显示的是系统支持的最高版本,不是当前版本!
CUDA与Visual Studio版本之间的对应关系如下:
cuda12.1及以上才支持VS2022
cuda和cudnn对应
自己搜,不再赘述
各种DownloadFailed下载失败
下载资源我已经上传
OpenCV在Cmake时不好下载的文件
带vars的和带wechat的报红,直接搜索把打勾去掉就行,对项目没有作用
还不行的去看源码编译OpenCV
POLICY CMP0148/CMP0146 is not set
翻遍了全网都没有说明白的,报这个红直接去OpenCV-x.x.x文件夹里的CMakeList.txt
在一堆POLICY那部分加上:
if(POLICY CMP0146)
cmake_policy(SET CMP0146 OLD)
endif()
if(POLICY CMP0148)
cmake_policy(SET CMP0148 OLD)
endif()
即可
CONFIGURATION IS NOT SUPPORTED: validate setupvars script in install
在搜索框中输入OPENCV_GENERATE_SETUPVARS,去除勾选
WeChatQRCode: Can’t get sr prototxt file for wechat qrcode.
在搜索框中输入BUILD_opencv_wechat_qrcode,去除勾选
无法打开包括文件: “opencv2/objdetect/aruco_board.hpp”: No such file or directory
大坑,在搜索框中输入BUILD_opencv_aruco,去除勾选
Could NOT find CUDA: Found unsuitable version “xxx”, but required is exact version “7.5”
去设置-系统信息-高级系统设置-环境变量-系统变量里看CUDA_PATH,确保那个路径上有对应版本的cudnn,如果填错了改过来之后不能直接点Configure,依然会报错(因为他已经缓存了cudnn路径,改不了了)
要点 Cmake 的 File-Delete Cache 清理掉缓存之后再重新Configure
This file was generated by an older version of protoc which is
也是大坑,因为电脑先装了Anaconda的protobuf包导致的
打开cmd,输入
protoc --version
查看电脑上的protobuf版本
打开Anaconda Prompt,卸载protobuf和libprotobuf:
conda uninstall protobuf
conda uninstall libprotobuf
用cmd再输一遍protoc --version,找不到命令了就是卸干净了
再编译OpenCV就不报错了
安完了OpenCV再装回去即可文章来源:https://www.toymoban.com/news/detail-806194.html
我没遇到其他问题了,希望能帮助到大家文章来源地址https://www.toymoban.com/news/detail-806194.html
到了这里,关于OpenCV+Cuda+Cmake+VStudio配置踩坑记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!