OpenCV+Cuda+Cmake+VStudio配置踩坑记录

OpenCV+Cuda+Cmake+VStudio配置记录

前后配这玩意三次,一直挺头疼,最近项目原因不得不又配了一遍,遂下定决心写一下坑点


前置安装

CMake编译Opencv(VS2022)

这步请提前确定好cuda和cudnn的版本对应,cuda版本和电脑环境的版本兼容,cuda和vs的版本对应(大坑,比如cuda11.3不支持vs2022!)

查看系统支持的cuda版本:

输入win+r,输入cmd,打开命令提示符窗口,输入:

nvidia-smi

查看系统支持的cuda版本注意这里显示的是系统支持的最高版本,不是当前版本!

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再装回去即可

我没遇到其他问题了,希望能帮助到大家

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涤风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值