一个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\Micros

文章讲述了作者在从VS2019迁移到VS2022编译32位MFC项目时遇到的编译错误,主要问题是头文件中宏重定义。通过检查包含目录并移除重复定义的文件,解决了编译问题。
最低0.47元/天 解锁文章
2329

被折叠的 条评论
为什么被折叠?



