win10 opencv GPU cuda 11.8 vs2022编译
前言
目前已经尝试过cuda 12.2 vs2022 opencv 4.8.1 opencv 4.8.0 opencv 4.6.0 opencv 4.7.0 gpu版编译都以vs2022生成失败告终,cpu版均能编译和生成。故将cuda12.2降至11.8成功。猜测:目前opencv 4.8.1为最高版本可能暂不支持cuda12.2 故记录一下。
如果大家也是cpu 都能编译成功,gpu版 能cmake成功 却卡在了vs生成,也可查询相关资料确认一下一下cuda ,vs ,opencv三者的版本是否能相互兼容。
使用的工具为 :
1.cmake 3.27.6
2.vs2022社区版
3.opencv4.8.1 opencv_contrib 4.8.1
4. cuda 11.8 cudnn 8.9.5.29
一、配置hosts
我这边挂好了梯子开全局代理后,cmake编译下载vgg bootdesc ade ffmpeg ippicv还是 下载超时。如果挂好梯子后网络能够下载的话可以跳过配置hosts这一步.
- 找到hosts文件,路径如图所示。右击选择属性,点击安全。
2.选择User,然后点击编辑,将完全控制勾选上。然后确定。
3.接下来用记事本打开hosts。添加一行 185.199.108.133 raw.githubusercontent.com 然后保存
二、CMake编译
1.打开CMake-gui, 并配置opencv和build的文件路径后,然后点击config 后出现如图,第一个框这里选择vs 17 2022,第二个选择x64,第三个不管 ,空着。
2. 勾选cuda相关 这里全部勾上
-
设置opencv_contrib路径
-
设置生成world, 也可以不勾选,不勾选的会vs生成后 会有很多个lib,勾选了 就只有opencv_world lib 文件
-
去掉python,test(因为我暂时不需要)。java同理也去掉。然后点击config
-
config 后 ,勾选math
-
设置显卡算力 ,我的显卡是rtx2080ti 算力7.5 ,我就把6.0以下的都删了,可以只留一个7.5加快编译。这里设置对应显卡的算力
显卡算力 查询:https://developer.nvidia.cn/cuda-gpus
-
取消勾选setup
9.勾选完成后config,再generate
三、VS2022 生成
1.打开build 下的opencv.sln
2.任务栏 》生成 》配置管理器,勾选INSTALL。然后生成解决方案即可。编译了
3.编译了2个多小时 成功。然后在build下生成了一个install文件夹
总结
cmake下载失败的 ,这里有下载好的4.8.1 .cache:地址
里面的内容如下:
以上就是全部内容。