问题截图:
引起原因:
作者是MFC开发者,因此有时候需要借鉴其他作者的DEMO,但是各种项目的开发环境又都不相同,这是导致这一问题的普遍原因。
但是作者在发生这种情况后,又重新生成了一个MFC项目,移植了代码,在稳定了三天后又出现了这种错误,但是这次并没有对项目进行任何修改。
在写此文章之前作者已经写了600字的解决方案,结果发现在其他项目无用。。。
最终在折磨了将近一个多月后,终于在微软论坛的一个帖子上找到了灵感。
下面给大家分享一下:
解决办法:(作者开发环境:VS2022企业版)
1.参考C站其他作者的帖子后,总体分为三种解决办法:
(一)将afxres.h移植到项目目录(本人尝试后,仍提示win.h报错)
(二)将平台工具集改成原项目对应版本(本人项目未改动,所以也没用。。。)
(三)将引用目录路径添加VS所在路径(该解决办法太老,我甚至看到了VC6的示例,同样也无效)
补:以上办法不是百分百无效,根据自身条件判断!!!
微软大佬说:
看不懂?翻译一下:
虽然这条评论并没有多少人赞同,但是第一句话却给了我灵感,即Platform SDK仅带有64位版本的库 。
仔细回忆后发现,貌似我出现这种问题的项目大多数都是x86开发或者由x64转到x86的,并且当我们把项目中的.VS文件夹后删除后,重开项目就会自动变成x64 ,这样之前删除文件夹方法就会恢复的现象就说通了。
但是为什么x86开发仍能坚持很长一段时间,这个问题就是个谜了。。。。。。
最终该方法如下:
1.将x86转成x64开发
2.最好将.VS文件夹及其他缓存文件都清理一下
3.重启项目
作者希望该帖子能帮助大家,因为MFC项目如果打不开RC编辑器真的很难受,如果这个帖子的方法对于您的情况无效,那么祝您早日找到解决办法!!!