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

来源:互联网 发布:工业企业数据库 161 编辑:程序博客网 时间:2024/04/30 12:47

关于编译错误:

1>  stdafx.cpp1>e:\microsoft visual studio 10.0\vc\atlmfc\include\atlcore.h(35): fatal error C1189: #error :  This file requires _WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or higher is recommended.1>1>生成失败。

产生原因:

用高版本的VS打开了低版本编写的工程。


解决办法:

替换stdafx.h头文件以下内容:

将原内容:

// 如果您必须使用下列所指定的平台之前的平台,则修改下面的定义。// 有关不同平台的相应值的最新信息,请参考 MSDN。#ifndef WINVER// 允许使用 Windows 95 和 Windows NT 4 或更高版本的特定功能。#define WINVER 0x0400//为 Windows98 和 Windows 2000 及更新版本改变为适当的值。#endif#ifndef _WIN32_WINNT// 允许使用 Windows NT 4 或更高版本的特定功能。#define _WIN32_WINNT 0x0400//为 Windows98 和 Windows 2000 及更新版本改变为适当的值。#endif#ifndef _WIN32_WINDOWS// 允许使用 Windows 98 或更高版本的特定功能。#define _WIN32_WINDOWS 0x0410 //为 Windows Me 及更新版本改变为适当的值。#endif#ifndef _WIN32_IE// 允许使用 IE 4.0 或更高版本的特定功能。#define _WIN32_IE 0x0400//为 IE 5.0 及更新版本改变为适当的值。#endif

替换为:

#ifndef WINVER // Allow use of features specific to Windows 95 and Windows NT 4 or later.#define WINVER 0x0501 // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.#endif#ifndef _WIN32_WINNT // Allow use of features specific to Windows NT 4 or later.#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.#endif#ifndef _WIN32_WINDOWS // Allow use of features specific to Windows 98 or later.#define _WIN32_WINDOWS 0x0501 // Change this to the appropriate value to target Windows Me or later.#endif#ifndef _WIN32_IE // Allow use of features specific to IE 4.0 or later.#define _WIN32_IE 0x0601 // Change this to the appropriate value to target IE 5.0 or later.#endif



实际上将上面的内容删除,也能使用默认值通过编译,但是不知道是否通用。

会产生一句提示:

1>  _WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h)






0 0
原创粉丝点击