opencv编译问题(NVIDIA cuda安装和cudNN)

因项目需要,需要编译一个带cuda版本opencv的库,碰到的问题如下汇总:

  • 驱动安装

我的设备时NVIDIA GeForce RTX 4060Ti
官网选择显卡驱动https://www.nvidia.cn/drivers/lookup/
在这里插入图片描述
我这边安装的时560.94版本
在这里插入图片描述
安装之后:在这里插入图片描述
在这里插入图片描述

  • cuda安装
    安装cuda:是一个由NVIDIA开发的并行计算平台和编程模型
    cuda版本获取:https://developer.nvidia.com/cuda-toolkit-archive
    应为我的是12.6.65的设备,所以选择cuda_12.6.0_560.76_windows.exe的cuda安装
    在这里插入图片描述
    在这里插入图片描述
  • cuDnn安装
    安装cudDnn:cuDNN是一个GPU加速的深度学习库
    下载地址:https://developer.nvidia.com/rdp/cudnn-archive
    选择for cuda 12.x的,应为我的cuda版本就是12.6

这里我一开始选择的是for cuda11.x,后面再程序运行的时候会出现一个问题,一直找不到cublasLt64_11.dll,cublas64_11.dll这两个文件
很奇怪为什么我使用的是cuda12需要找11,原来是这里使用了for cuda11的dudnn,解决方案就是把cublasLt64_12.dll,cublas64_12.dll 复制一份出来改为 cublasLt64_11.dll,cublas64_11.dll 就可以解决。当然最好使用for cuda12.x

cudnn-windows-x86_64-8.9.0.131_cuda11-archive下载的文件
在这里插入图片描述
下载完成后,是一个文件夹,将文件夹下的全部复制到这个路径下
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6

  • opecv4.10编译
    opencv源码+contrib下载4.10版本
    参考这个链接编译,我碰到的问题是一开始使用opencv4.8编译的,结果使用vs编译的时候一直报错误,Error: no instance of overloaded function “cv::cudev::blockReduce” matches the argument list
    以为是配置问题各种找原因之后才发向是版本问题

在这里插入图片描述
在这里插入图片描述
编译过程参考https://blog.csdn.net/m0_58326153/article/details/142333462

编译遇到的问题:
vs编译OpenCV 4.7.0 无法解析的外部符号 cv::xfeatures2d::VGG::getDefaultName
解决方法参考
https://blog.csdn.net/chan1987818/article/details/129991937?spm=1001.2101.3001.6650.6&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-129991937-blog-129850364.235%5Ev43%5Econtrol&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-129991937-blog-129850364.235%5Ev43%5Econtrol&utm_relevant_index=10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值