fatal error C1189: #error :  WINDOWS.H already included.  MFC apps must not #include <windows.h>

fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h> Error executing cl.exe.


前言

提示:以下纯粹是个人调试错误的过程经验分享,如有错误欢迎指出,希望与大家一起交流学习进步


问题一 vs2019无法打开源文件"stdafx.h"的解决方法

解决方法:注释掉 include <stdafx.h>语句
注意这里看起来我们虽然注释掉了,没用上这个源文件,但是实际上还是有用到的,这里可能有点绕,但是看了问题二的解答,应该是能懂的

问题二 fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h> Error executing cl.exe.

解决方法:
第一步:
首先,检查你的项目中的程序有没有一句自动生成的语句,即:

#include “framework.h”

第二步:
如果有的话,那就继续下一步,有了前面这个基础后,我们右键点击framework.h跳转到该文件里面
对它注释掉#include<windows.h>的语句,并保存,再次运行就会发现这个bug没有了

个人猜测原因如下:我查了很多关于这个问题一和问题二的,但是都是建议用预编译头stdafx.h,但是我试过了,一直会遇到第二个问题,而且查到的方法都是找到嵌套的地方,注释掉#include<windows.h>,但是并没有用,因为笔者压根就找不到这个所谓的stdafx.h,看了另一个教程说是自己去网上下一个,我也试了,下完只有乱码,,没法解决问题,后来我意外打开了framework的文件,跟别人早期版本的VS里面的stdafx.h内容一模一样,猜测应该是因为版本的更新,这个文件改名了,并且是新建项目自动生成的。然后更加根本为什么要注释掉#include<windows.h>的原因是因为它在不同的头文件里重复引用了,所以必须注释掉,否则就会报错。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值