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

2023-11-07

因为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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VS2015 + CUDA10 编译 OpenCV2.4.13 之 OpenCV编译文件修改 的相关文章

随机推荐

  • C语言中如何使用system函数

    C语言中如何使用system函数 一 system函数 c语言中的system 函数主要用于发出一个DOS命令 该函数已经收录在标准c库中 可以直接调用 使用时包含头文件
  • Rancher和K8s的关系是什么?Rancher和K8s区别对比

    Rancher和K8s的关系是什么 K8s全称为Kubernetes 它是一个开源的 用于管理云平台中多个主机上的容器化的应用 而Rancher是一个完全开源的企业级多集群Kubernetes管理平台 实现了Kubernetes集群在混合云
  • Matrikon OPC 模拟器使用教程

    一 OPC协议 OPC通信技术因其帮助大量的使用不同通信协议的下层现场设备的数据得以与上位机的应用程序进行交互的作用 成为了一种工业通信领域中一套广为流行的方案 它使得硬件供应商和软件开发商都可以专注于做自己的工作 只要双方都能提供OPC接
  • Python NLTK 自然语言处理入门与例程

    Python NLTK 自然语言处理入门与例程 在这篇文章中 我们将基于 Python 讨论自然语言处理 NLP 本教程将会使用 Python NLTK 库 NLTK 是一个当下流行的 用于自然语言处理的 Python 库 那么 NLP 到
  • jupyter notebook参数化运行python

    Updates 2019 8 14 19 53 吃饭前用这个方法实战了一下 吃完回来一看好像不太行 跑完一组参数之后 到跑下一组参数时好像没有释放之占用的 GPU 于是 notebook 上的结果 后面好几条都报错说 cuda out of
  • Linux系统Squid代理添加用户、密码认证

    安装了Squid后会有一些不明的流量和CPU占用95 以上 估计是因为没加密码 被扫描到端口后被滥用 我们给Squid代理添加用户 密码认证 1 密码用apache2自带的NCSA 先做个密码档 然后设为任何人可读 sudo touch e
  • make all、make clean、make install 等命令的来源

    在命令行输入make命令后 会查找当前目录下的Makefile文件来执行 一切都是自动运行的 有时候Makefile中有多个程序需要编译 这时可以使用 make all 来编译所有的程序 当然也可以使用 make 程序名 来单独编译某一个文
  • C - Coprime 2(质因数)

    C Coprime 2https vjudge csgrandeur cn problem AtCoder abc215 d1 先把a数组元素里面每个元素的因数求出来 再把他们的倍数标记 剩下的1到M没标记的数就是答案 include
  • 一般试卷的纸张大小是多少_【教学研究】标准化试卷是如何编制出来的?

    作为教师 日常教学工作中经常需要编制试卷 一般我们可以用Word来编制各类试卷 对于标准化试卷来说 有很多样式是统一的 在Word中 本文以Word2003为例 我们可以按以下步骤进行设置 一 试卷页面设置 标准化试卷一般都采用8K纸张 横
  • octave下实现积分/求解微分方程

    我电脑是AMD的不是Intel的 所以matlab很多功能用不了 矩阵乘法都用不了 虚拟机也没工夫折腾 找了octave来替代 首先安装 symbolic包 要求已安装好Python3的SymPy库 pkg install forge sy
  • MongoDB4.x创建数据库帐号,启用密码认证,启用外部ip访问,创建数据库,创建集合.

    创建数据库 use company 这样就创建了一个名称为company的数据库 但如果不创建集合 表 的话则不保存 创建集合 db createCollection employ salary 创建了一个employ salary表 创建
  • WPF的MVVM框架Stylet开发文档 14.6 StyletIoC 模块

    14 6 StyletIoC 模块 任何具有合理复杂性的应用程序都将包含大量 IoC 容器配置 有大量接口与实现的显式绑定 指定单例和其他 完全必要的 配置 默认方法是将所有这些配置放在您的引导加载程序中 这是有道理的 所有配置都在一个地方
  • ModuleNotFoundError: No module named ‘tensorflow.contrib‘ 关于TensorFlow2中没有contrib包的解决办法

    在学习中文实体识别的过程中 参考很多以前的ltsm crf代码 以及谷歌的开源bert代码 过程中都遇到了该问题 简单查阅可得这是因为TensorFlow2版本中删除了contrib包所导致的问题 其中有部分大佬给出的解决办法是降低版本 但
  • PHP 短信验证码验证(短信宝)

    注册的短信验证 控制器 public function save Request request echo 11 die phone input last time Cache store redis gt get register tim
  • nvdiffrec在Windows上的配置及使用

    nvdiffrec是NVIDIA研究院开源的项目 源代码地址 https github com NVlabs nvdiffrec 论文为 Extracting Triangular 3D Models Materials and Light
  • c++ 赋值运算符函数

    题目 如下为类型CMyString 的声明 请为该类型添加赋值运算符 class CMyString public CMyString char pData nullptr CMyString const CMyString str CMy
  • ubuntu上安装android studio出现adb 无法识别设备的问题

    ubuntu上安装android studio出现adb 无法识别某些设备的问题 出现的都是 m OptiPlex 7040 etc udev rules d adb devices List of devices attached no
  • 在Windows域控制器里新建用户,添加可以远程桌面访问的权限

    在Windows域控制器里新建用户 添加可以远程桌面访问的权限 系统Windows server2003 开始 管理工具 active directory用户和计算机 新建用户 登录到要远程的计算机 DOS窗口输入gpedit进去到本地组策
  • 使用 Filebeat 监听日志文件

    Filebeat是一个日志文件托运工具 在你的服务器上安装客户端后 filebeat 会监控日志目录或者指定的日志文件 追踪读取这些文件 追踪文件的变化 不停的读 并且转发这些信息到elasticsearch 或者 logstarsh re
  • VS2015 + CUDA10 编译 OpenCV2.4.13 之 OpenCV编译文件修改

    因为CUDA10貌似不支持OpenCV2 所以需要对OpenCV2的文件进行修改 主要参考https blog csdn net u014613745 article details 78310916 请注意 本篇博客需要结合上面的链接中的