windwos 7和vs2010 c++ 下编译工程,出现错误fatal error C1189(VC6升VS2010时出现)

来源:互联网 发布:java多线程并发例子 编辑:程序博客网 时间:2024/05/20 02:30
windwos 7和vs2010 c++ 下编译工程,
出现错误
fatal error C1189: #error :  This file requires _WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or higher is recommended.

是出c:\program files (x86)\microsoft visual studio 10.0\vc\atlmfc\include\atlcore.h(35)中报出。

请问怎样解决?


解决办法:

===================================

下面是彻底解决方法:
在工程的stdafx.h中添加(如有类似语句,需注释掉)
#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