错误修改: error C1189: #error : This file requires _WIN32_WINNT to be #defined at least to 0x0403. Valu

在使用VC10编译旧程序时遇到错误C1189,提示文件需要_WIN32_WINNT至少为0x0403。通过修改StdAfx.h文件中WINVER的定义,将其从0x0400更改为0x0501或更高,解决了此问题。修改后的代码能成功编译并运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:用vc10编译以前的程序时出现如下错误:

      fatal error C1189: #error :  This file requires _WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or higher is recommended.

    分析应该是版本出错:  该文件要求_WIN32_WINNT宏定义至少0x0403版本。但推荐0x0501或更高的值。

修改:查看StdAfx.h 文件发现

#ifndef WINVER // 允许使用 Windows 95 和 Windows NT 4 或更高版本的特定功能。
#define WINVER 0x0400       //为 Windows98 和 Windows 2000 及更新版本改变为适当的值。

#endif

需改成:

#ifndef WINVER // 允许使用 Windows 95 和 Windows NT 4 或更高版本的特定功能。
#define WINVER 0x0501        //为 Windows98 和 Windows 2000 及更新版本改变为适当的值。

#endif

这个出错没了。继续成别的值试一下。发现也是可以的。

#ifndef WINVER  
#define WINVER 0x0901      </

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值