error C1189:#error:This file requires _WIN32_WINNT to be #defined at least to 0x0403

error C1189:#error:This filerequires _WIN32_WINNT to be #defined at least to 0x0403

win7VS2010上使用不兼容,出现了如题的编译错误。

解决方法:

stdafx.h头文件中增加1段编译选项。

(2种方法:1种是MSDN上的,1种是兼容版的模式,2种都可以用,2种兼容模式是供参考的材料)

------------------1种方法------------------

#define WINVER 0x0500

#define _WIN32_WINNT 0x0500

 

------------------2种方法------------------

#ifndef WINVER 0x0500

#define _WIN32_WINNT 0x0500

#endif

 

MSDN参考:

http://msdn.microsoft.com/zh-cn/library/6sehtctf(VS.90).aspx

 

如何:修改 WINVER _WIN32_WINNT

 

Visual C++ 2008开始,Visual C++ 不支持面向 Windows 95Windows 98Windows ME Windows NT。如果您的 WINVER _WIN32_WINNT 宏被指定到这些 Windows版本之一,则需要修改宏。当升级从 Visual C++ 的以前版本创建的项目时,如果将 WINVER _WIN32_WINNT 宏指定到不再受支持的 Windows版本,可能会看到与这些宏相关的编译错误。

 

若要修改宏,请在头文件中添加以下行:

#define WINVER 0x0500

#define _WIN32_WINNT 0x0500

 

这将以 Windows 2000操作系统为目标。其他有效值包括 0x0501(用于 Windows XP)、0x0502(用于 Windows Server 2003)和 0x0600(用于 Windows Vista)。

 

还可以使用 /D 编译器选项定义此宏;有关详细信息,请参见 /D(预处理器定义)。

 

摘自http://hi.baidu.com/vc_net/item/0185db2bb2fed984ae48f52e

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值