编译Opencv3.3.1遇到的编译器无法识别的警告的问题解除:

news2025/1/13 10:03:34

问题描述:


本文,就是在一个硬件的SDK中用到了opencv3.3.1的版本,在笔者目前的VS2019,CUDA11版本下编译的问题和解决。在做Cmake的configure的时候,Cmake报了一个找不到编译器版本的错误,

 

Selecting windows SDK version 10.0.19041.0 to target Windows 10.0.19045Make Warning at cmake/OpenCVDetectCXXCompiler.cmake:120(message):OpencV does not recognize MSVC VERSION "1929".set OpenCV RUNTIMEcannotcall Stack (most recent call first):
cMakelists.txt:138 (include) 

 


问题根本原因:

opencv3.3.1的版本大约是在2017年,这时候VS2019还没有出来吧,对应的微软内部ID版本号,自然是没有出来,我们只要稍微改一下配置的Makefile就可以了:


解决办法:

在如下路径:找到编译器配置文件:

opencv331/opencv/cmake/OpenCVDetectCXXCompiler.cmake

 找到这段代码,

if(MSVC)
  if(CMAKE_CL_64)
    set(OpenCV_ARCH x64)
  elseif((CMAKE_GENERATOR MATCHES "ARM") OR ("${arch_hint}" STREQUAL "ARM") OR (CMAKE_VS_EFFECTIVE_PLATFORMS MATCHES "ARM|arm"))
    # see Modules/CmakeGenericSystem.cmake
    set(OpenCV_ARCH ARM)
  else()
    set(OpenCV_ARCH x86)
  endif()
  if(MSVC_VERSION EQUAL 1400)
    set(OpenCV_RUNTIME vc8)
  elseif(MSVC_VERSION EQUAL 1500)
    set(OpenCV_RUNTIME vc9)
  elseif(MSVC_VERSION EQUAL 1600)
    set(OpenCV_RUNTIME vc10)
  elseif(MSVC_VERSION EQUAL 1700)
    set(OpenCV_RUNTIME vc11)
  elseif(MSVC_VERSION EQUAL 1800)
    set(OpenCV_RUNTIME vc12)
  elseif(MSVC_VERSION EQUAL 1900)
    set(OpenCV_RUNTIME vc14)
  elseif(MSVC_VERSION EQUAL 1910 OR MSVC_VERSION EQUAL 1911)
    set(OpenCV_RUNTIME vc15)
  elseif(MSVC_VERSION EQUAL 1921 OR MSVC_VERSION EQUAL 1929)
    set(OpenCV_RUNTIME vc16)
  else()
    message(WARNING "OpenCV does not recognize MSVC_VERSION \"${MSVC_VERSION}\". Cannot set OpenCV_RUNTIME")
  endif()
elseif(MINGW)
  set(OpenCV_RUNTIME mingw)

  if(MINGW64)
    set(OpenCV_ARCH x64)
  else()
    set(OpenCV_ARCH x86)
  endif()
endif()

修改成上述即可:

注意,我修改的部分为:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1422954.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux下使用信号量实现PV操作

一.信号量与PV操作概述 在多道程序系统中,由于资源共享与进程合作,使各进程之间可能产生两种形式的制约关系,一种是间接相互制约,例如,在仅有一台打印机的系统,同一时刻只能有一个进程分配到到打印机&…

Axure9知识点复盘

axure9 Axure有四种类型文件: 团队文件示例.rpteam 元件库文件示例.rplib 原型导出文件示例.html 原型文件示例.rp 将反复被调用都模板作成母版 鼠标和键盘的交互 形状交互 登录页面的实现 动态面版滚动条的使用 如何在Axure中动态加载图表(Axh…

H5适配iOS顶部和底部安全区域

在移动端Web开发中,适配不同设备的屏幕是一个重要且挑战性的任务。对于iOS设备来说,这一任务尤为关键,因为自iPhone X起,苹果的设备引入了刘海屏、圆角等设计,这就要求开发者在Web页面中特别处理顶部和底部的安全区域。…

在RunnerGo测试平台中做WebSocket、Dubbo、TCP/IP接口测试

大家好,RunnerGo作为一款一站式测试平台不断为用户提供更好的使用体验,最近得知RunnerGo新增对,WebSocket、Dubbo、TCP/IP,三种协议API的测试支持,本篇文章跟大家分享一下使用方法。 WebSocket协议 WebSocket 是一种…

用 CanvasKit 实现超级丝滑的原神地图(已开源)!!!

首先给大家送上预览地址: 官网地址:https://webstatic.mihoyo.com/ys/app/interactive-map/index.html canvaskit地址:http://106.55.55.247/ky-genshin-map/ 为什么 canvaskit 有如此高的性能? 第一个问题,官方网页…

万户 ezOFFICE DocumentEditExcel.jsp SQL注入漏洞

0x01 产品简介 万户OA ezoffice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网站群和协同办公平台,将外网信息维护、客户服务、互动交流和日…

day38_MySQL

今日内容 0 复习昨日 1 引言 2 数据库 3 数据库管理系统 4 MySQL 5 SQL语言 0 复习昨日 1 引言 1.1 现有的数据存储方式有哪些? Java程序存储数据(变量、对象、数组、集合),数据保存在内存中,属于瞬时状态存储。文件&…

D4890——单通道 BTL 音频功率放大器电路,采用SOP8/MSOP8封装形式,无需输出耦合电容、缓冲网络或自举电容

D4890是一个AB类音频功率放大器专为移动电话MID和其他便携式通信设备。它能够从5Vn的电源以小于1%的失真(THDN) 传输1.1wts到8QBlo d。专为提供高品质的输出功率而设计,只需最少的外部元件。它不需要输出耦合电容或自举电容。和超低关断电流,D4890非常适…

DataCanvas会员中心正式上线,这些新春福利请接住!

重大消息:“九章云极DataCanvas智能研究院”服务号会员中心正式上线了 !注册成为DataCanvas会员,接好这些新春福利! 新岁将至,福启九章,作为集智库、服务、干货分享、互动交流于一体的用户综合服务平台&am…

对象原型和原型对象

在浏览器中显示的[[Prototype]]实际上就是__proto__,是对象原型,可以被实例访问。 prototype是构造函数的属性,__proto__是实例的属性。有点绕口。

浅析云性能监控的重要性及核心功能

随着企业日益依赖云计算服务,云性能监控变得至关重要。云性能监控是一种实时监测、分析和报告云基础设施及应用程序性能的方法。本文将深入探讨云性能监控的目的、重要性以及其核心功能,以帮助企业更好地理解和实施这一关键的运维实践。 一、云性能监控的…

AI算力专题:AI时代领先者,大装置+大模型推动AGI落地

今天分享的是AI算力系列深度研究报告:《AI算力专题:AI时代领先者,大装置大模型推动AGI落地》。 (报告出品方:中银证券) 报告共计:28页 四核驱动引领智慧科技新潮流 商汤是一家行业领先的人工…

C++ 数论相关题目 博弈论 Nim游戏

给定 n 堆石子,两位玩家轮流操作,每次操作可以从任意一堆石子中拿走任意数量的石子(可以拿完,但不能不拿),最后无法进行操作的人视为失败。 问如果两人都采用最优策略,先手是否必胜。 输入格式…

惬意上手python —— python中的术语及案例解析

面向对象编程 面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它将数据和操作数据的方法封装在一起,以对象的形式表示。在Python中,一切皆为对象,因此Python是一种面向对象的语…

【开源】SpringBoot框架开发天然气工程运维系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统角色分类2.2 核心功能2.2.1 流程 12.2.2 流程 22.3 各角色功能2.3.1 系统管理员功能2.3.2 用户服务部功能2.3.3 分公司(施工单位)功能2.3.3.1 技术员角色功能2.3.3.2 材料员角色功能 2.3.4 安…

带自执行安装脚本的ROS包的生成

带自执行安装脚本的ROS包的生成 在打包和安装ROS包时, 会有一些固定的配置需要去人为实现, 比如网络配置, 设备树的管理等, 比较麻烦, 不如一次性解决掉, 所以查了相关文档 过程: # 使用bloom-generate rosdebian生成debian文件夹 bloom-generate rosdebian # 进入debian文件…

Unix/Linux上的五种IO模型

a.阻塞 blocking 调用者调用了某个函数,等待这个函数返回,期间什么也不做,不停的去检查这个函数有没有返回,必须等这个函数返回才能进行下一步动作。 注意:阻塞并不是函数的行为,而是跟文件描述符有关。通…

法律视角下的数据出境《2023年数据出境合规年鉴》

关注国际云安全联盟CSA公众号,回复关键词“数据安全”获取报告 在全球数字产业以及大数据和云计算技术快速发展的背景下,数据流动对世界经济的影响日益显著。由此带来的数据红利和数据安全之间的冲突,将对未来数字经济的发展方向产生深刻影响…

如何使用wireshark解析二进制文件

目录 目录 1.将已有的packet raw data按照下面格式写入文本文件中 a. Raw IP packet b. Ethernet packet 2.用wiershark导入hex文件 3.设置对应的packet类型 a. Raw IP packet b. Ethernet packet 1.将已有的packet raw data按照下面格式写入文本文件中 a. Raw IP pac…

C++——特殊类

特殊类 文章目录 特殊类一、请设计一个类,不能被拷贝二、请设计一个类,只能在堆上创建对象方案一:析构函数私有化方案二:构造函数私有化 三、请设计一个类,只能在栈上创建对象四、请设计一个类,不能被继承五…