当前位置: 代码迷 >> 综合 >> VS2015 + CUDA10 编译 OpenCV2.4.13 之 OpenCV编译文件修改
  详细解决方案

VS2015 + CUDA10 编译 OpenCV2.4.13 之 OpenCV编译文件修改

热度:9   发布时间:2023-12-23 09:22:49.0

因为CUDA10貌似不支持OpenCV2,所以需要对OpenCV2的文件进行修改

主要参考https://blog.csdn.net/u014613745/article/details/78310916

请注意
本篇博客需要结合上面的链接中的博客进行食用,因为该博客发的较早,所以某几步还需要在它基础上进行更改,主体步骤按照该博客来就行,这里只给出需要调整的地方:

【第四步】
在第四步修改架构的时候,需要根据自己的显卡架构以及算力修改
例如 RTX2060s是基于Turing架构的,算力为7.5
所以应该修改下面两处(前面的那个Kepler不用管,也可以自己添加其他架构和算力):

  • 第一处
set(_generations "Fermi" "Kepler") 

改为:

  set(_generations "Fermi" "Kepler" "Maxwell" "Pascal" "Volta" "Turing")
  • 第二处
  set(__cuda_arch_ptx "")if(CUDA_GENERATION STREQUAL "Fermi")set(__cuda_arch_bin "2.0 2.1(2.0)")elseif(CUDA_GENERATION STREQUAL "Kepler")

改为

  set(__cuda_arch_ptx "")if(CUDA_GENERATION STREQUAL "Fermi")set(__cuda_arch_bin "2.0")elseif(CUDA_GENERATION STREQUAL "Kepler")set(__cuda_arch_bin "3.0 3.5 3.7")elseif(CUDA_GENERATION STREQUAL "Maxwell")set(__cuda_arch_bin "5.0 5.2")elseif(CUDA_GENERATION STREQUAL "Pascal")set(__cuda_arch_bin "6.0 6.1")elseif(CUDA_GENERATION STREQUAL "Volta")set(__cuda_arch_bin "7.0")elseif(CUDA_GENERATION STREQUAL "Turing")set(__cuda_arch_bin "7.5")

【第五步】
在第5步中,OpenCV2.4.13的common.hpp文件在路径opencv/build/include/opencv2/gpu/device中

【随后】
打开Cmake准备编译,选好文件路径以及系统后,

点击configure,然后检查with_CUDA是否勾上,没有勾上的话需要勾上;

然后根据自己的显卡修改下图两个位置(与之前在第四步中要对应),比如说我安装的显卡为RTX2060s,算力为7.5,所以都修改为7.5
在这里插入图片描述
再点击Configure,如果出现上图中红字的warning:

CMake Warning at cmake/OpenCVPackaging.cmake:23 (message):
CPACK_PACKAGE_VERSION does not match version provided by version.hpp
header! Call Stack (most recent call first): CMakeLists.txt:1105
(include)

那就还需要修改一个地方:在OpenCVPackaging.cmake文件中的set(CPACK_PACKAGE_VERSION "${OPENCV_VCSVERSION}")上面添加

set(OPENCV_VCSVERSION "2.4.13.6")

根据自己的版本进行修改
(这里参考了https://blog.csdn.net/qq_41598072/article/details/100665769)

再点击Configure, 如果还有Warning针对具体Warning解决。

然后点击Generate 生成,成功生成后Open Project,会自动打开VS,右键ALL_BUILD进行生成,(注意会不会报错,有报错的话要及时停下来)等待两个小时后。。再右键INSTALL生成,这就编译好了,之后就剩配置环境了。

配置可以参考其他博客或者这个:https://blog.csdn.net/qq_38574198/article/details/109549322

  相关解决方案