win11,安装c++版OpenCV,带cuda
最近调试一台win11机器,发现好多人都不知道新版opencv怎么编译,其实和原来的版本没有什么太多区别,下面是我按照别人的博客执行的实际安装经验,供参考
参考博客:Win11下配置OpenCV with CUDA
我使用的环境是
系统:Windows 11 专业版
显卡:RTX4090 D
驱动:CUDA-12.4 ,cudnn-windows-x86_64-9.5.0.50_cuda12-archive
编译软件:CMake 4.1.0, Visual Studio 2022
版本:OpenCV 4.12.0,Contrib 4.12.0
整体步骤可以看参考博客,这里说几个不同点
- 第一个是在修改配置处,发现加代理并不行,所以我是自己下载的缓存,下载连接可以在cmake里看到,有download的地方就是。我也整理了一个包,需要的可以下载。下载地址已经上传到这里
- 第二个,在环境变量-系统变量-path里面,临时删掉anacoda的路径配置,否则容易在编译时引发错误。安装完毕后再恢复路径
#error: This file was generated by an older version of protoc which is (编C1189译源文件)问题
主要删掉的就是框中这两条 - 第三条,在第二次点击configure后,设置CUDA_ARCH_BIN,可以保留一个最高的,也可以选择保留几个,必然7.0;7.5;8.6。这里我只保留一个8.6。还有一个地方是再次搜索math,把cuda_fast_math也勾选上
剩下的就没有特别注意的,直接点击configure,等待完成后点击generate,ok了就可以去Visual Studio里两步生成,第一步比较久,快一个小时完成,第二步几秒钟。
vs code就可以直接配置使用了,配置task.json和c_cpp_properties.json,完成后就可以加载使用。
下面两个代码都可以打印gpu相关信息。
std::cout << cv::getBuildInformation() << std::endl;cv::cuda::printCudaDeviceInfo(cv::cuda::getDevice()); // 打印GPU信息