Microsoft SDKs 有文件重定义导致编译失败的处理

news2024/11/26 20:24:19

        一个32位的mfc项目,之前采用vs2019编译,现在换了电脑(系统是win10),采用vs2022编译时,提示如下错误:

1>------ 已启动生成: 项目: aAnsys, 配置: Debug Win32 ------
1>cl : 命令行  warning D9035: “Gm”选项已否决,并将在将来的版本中移除
1>stdafx.cpp
1>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\sal_supp.h(57,1): warning C4005: “__useHeader”: 宏重定义
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\sal.h(2866,1): message : 参见“__useHeader”的前一个定义
1>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\specstrings_supp.h(77,1): warning C4005: “__on_failure”: 宏重定义
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\include\sal.h(2876,1): message : 参见“__on_failure”的前一个定义
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\atlmfc\include\atlcore.h(659,2): error C2039: "SetDefaultDllDirectories": 不是 "`global namespace'" 的成员
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\atlmfc\include\atlcore.h(659,2): error C2065: “SetDefaultDllDirectories”: 未声明的标识符
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.37.32822\atlmfc\include\atlcore.h(661,45): error C2065: “LOAD_LIBRARY_SEARCH_SYSTEM32”: 未声明的标识符
1>已完成生成项目“aAnsys.vcxproj”的操作 - 失败。
========== 生成: 0 成功,1 失败,0 最新,0 已跳过 ==========

        代码没有做任何修改,显然是包含的头文件问题导致的,但一般来说windows的头文件我从来都没有作过特别修改。

        为了验证是不是和工程是从以前版本升级到2022版本时出现的问题,就用vs2022创建了一个单文档项目(和我要编译的项目类型一致),所有选项都采用默认。发现默认编译的是64位,是没有问题的,编译成功,然后切换到32位再编译,就出现了一样的错误,这说明提倡大家用64位的程序,但我现有的项目依赖了其它很多的库文件,没法切换到64位,所以还是要找到解决办法才行。

        根据网上的一些说法,好像也不靠谱,但是给了点提示。

        在项目上点右键,属性 -> VC++目录 -> 包含目录,如下所示:

看两个目录:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A

C:\Program Files (x86)\Windows Kits\10

去电脑上查看这两个目录,发现里面都有很多文件,除了这两个目录之外,也有其它的目录,但里面都是只有几个文件,显然不会构成威胁。那既然提示是 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\ 中的文件有重复的定义,所以干脆就把这个目录从包含的目录中删除掉试试。其中注意到这个目录是继承过来的,所以去属性管理器里看看(如果没有打开,就 视图->其它窗口->属性管理器):属性管理器->随便展开一个工程->Debug|Win32->Microsoft.Cpp.Win32.user,双击这个文件,然后 vc++目录->包含目录:

这个里面,第一行就是目标路径,选中它,点上面的“x”号删除掉,然后确定保存。然后再编译,重复定义消失,编译顺利通过,至此问题解决。

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

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

相关文章

【ubuntu】ubuntu系统查看服务命令

查看正在运行的服务 sudo service --status-all [] 代表服务是在启动运行的状态 [-] 代表服务是在关闭停止的状态

使用Go语言抓取酒店价格数据的技术实现

目录 一、引言 二、准备工作 三、抓取数据 四、数据处理与存储 五、数据分析与可视化 六、结论与展望 一、引言 随着互联网的快速发展,酒店预订已经成为人们出行的重要环节。在选择酒店时,价格是消费者考虑的重要因素之一。因此,抓取酒…

opencv读取图片的方式影响图像绘制的颜色

圆圈的颜色设置不变,仅仅更改imread读取图片的方式 #frame cv2.imread(img_path,2)##flag2,单通道,原深度 **frame cv2.imread(img_path)##flag2,单通道,原深度** #cv2.circle(frame, (int(lmx), int(lmy)), 8, (0, 0, 125), 3) ### open…

优思学院|推行精益六西格玛困难重重?7大原因分析助你避坑

六西格玛,是一种让企业在绩效管理的舞台上跳得更高更远的方法。它不仅仅是一套原则和技术,更是一种对完美的执着追求。 在这个舞台上,企业的流程管理得以严格、集中,质量得以高效提升。优思学院总结出六西格玛的核心是&#xff1…

互联网金融风控常见知识点

1.怎么做互联网金融风控 首先风险不是都是坏的,风险是有价值的。也就是风险的VaR值(Value at Risk) 对于互联网信贷风控,是要把风险和收益做到更合理的平衡,在控制风险水平的情况下使得收益更高。 所以,做风控的不是一味地追求耕…

VS Code + VUE 代码自动格式化配置

插件列表 ESLintVetur setting.json { "[vue]": { "editor.defaultFormatter": "octref.vetur" }, "[javascript]": { "editor.defaultFormatter": "vscode.typescript-language-features" }, …

抖音双11进入决赛圈,爆款王炸单品竟是.....

今年,抖音将双11战线拉长,给足品牌和消费者时间备战,第一轮抢跑期战绩亮眼,多项双11销售增长记录被刷新,引爆全域流量。最后几天,抖音商城全面进入终局厮杀阶段,爆发期下半程对比抢跑期增速放缓…

Scala爬虫实战:采集网易云音乐热门歌单数据

导言 网易云音乐是一个备受欢迎的音乐平台,汇集了丰富的音乐资源和热门歌单。这些歌单涵盖了各种音乐风格和主题,为音乐爱好者提供了一个探索和分享音乐的平台。然而,有时我们可能需要从网易云音乐上获取歌单数据,以进行音乐推荐…

后端面试问题(学习版)

JAVA相关 JAVA语言概述 1. 一个".java"源文件中是否可以包含多个类?有什么限制? 可以。 一个源文件可以声明多个类,但是最多只能有一个类使用public进行声明 且要求声明public的类的类名与源文件相同。 2. Java的优势&#xff…

Python中的del用法

大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码 python中的del用法比较特殊,新手学习往往产生误解,弄清del的用法,可以帮助深入理解python的内存方面的问题。 python的del不同于C的fre…

Jmeter 基本使用以及性能测试基本流程使用总结

使用场景 需要对一部分接口做性能测试,并检验修改后的效果下载安装 搜索 Apache JMeter - Download Apache JMeter 或直接到官网 https://jmeter.apache.org/download_jmeter.cgi?cm_mc_uid15063477198714828218851&cm_mc_sid_502000001483277541下载 选择 zi…

TSINGSEE青犀车辆违停AI算法在园区道路管控场景中的应用方案

一、背景与需求 园区作为企业办公、生产制造的重要场所,主要道路车辆违停等违规行为会对园区的安全造成隐患,并且在上下班高峰期内,由于发现不及时,车辆违停行为会造成出入口拥堵现象,这也成为园区管理的棘手问题。 …

23届有必要从cobol转Java嘛?

23届有必要从cobol转Java嘛? 题主说我是一名23届科班毕业生,目前在一家做对日开发的公司,用的是上古语言cobol,目前工作挺稳定的,也比较轻松,之前自学过Java,现在打算年后换工作,一来…

OFDM深入学习及MATLAB仿真

文章目录 前言一、OFDM 基本原理及概念1、OFDM 简介2、子载波3、符号4、子载波间隔与符号长度之间的关系 二、涉及的技术1、保护间隔2、交织3、信道编码4、扩频5、导频6、RF(射频)调制7、信道估计 三、变量间的关系四、IEEE 802.11a WLAN PHY 层标准五、…

电脑怎么做图片二维码?在线制作二维码的方法

图片制作二维码是现在经常被使用的一个功能,比如产品照片、自拍、海报等等不同格式或者类型的文件都可以生成二维码。那么想要快速完成二维码制作,使用图片二维码生成器就可以快速完成制作,本文将给大家分享一下在电脑上制作图片二维码的操作…

python自动化测试(4)-使用第三方python库技术实现

1 概述 关于测试的方法论,都是建立在之前的文章里面提到的观点: 功能测试不建议做自动化接口测试性价比最高接口测试可以做自动化做好接口自动化,一定要有透过界面看到数据本质的能力 后面所谈到的 测试自动化 也将围绕着 接口自动化 来…

手写一个Webpack,带你了解构建流程

如果对前端八股文感兴趣,可以留意公重号:码农补给站,总有你要的干货。 前言 Webpack是一个强大的打包工具,拥有灵活、丰富的插件机制,网上关于如何使用Webpack及Webpack原理分析的技术文档层出不穷。最近自己也是发现…

人大金仓物理备份异机恢复

概述 KingbaseES V8支持使用RMAN物理备份在异机环境恢复,通过重新克隆方式完扩展主备集群。 原集群环境:演示用例,仅供参考 查看原集群备份和物理备份路径 异机恢复 前置条件 *获取原集群物理备份文件,包括全量备份、增量备份…

基于springboot的医护人员排班系统 全套代码 全套视频教程

基于springboot的医护人员排班系统,springboot vue mysql (毕业论文10411字以上,共27页,程序代码,MySQL数据库) 代码获取: 链接:https://pan.baidu.com/s/177HdCGtTvqiHP4O7qWAgxA?pwd0jlf 提取码:0jlf 【运行环境】 IDEA, JDK1.8, My…

后视镜为什么要检测反射率

后视镜反射率检测是评估后视镜质量的重要步骤,可以反映后视镜的反射效果是否满足设计要求。一般来说,后视镜的反射率越高,驾驶员观察车后的道路状况就越清晰,从而能够更好地判断与后方车辆的距离和速度差。 后视镜反射率检测的原理…