vc2010編譯錯誤atlcore.h(35): fatal error C1189

轉化爲vc2010後,出現以下錯誤:

“C:/Program Files/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.”

 

解決方法:

 

stdafx.h頭文件中找到如下:

//#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 //允許使用 Windows 95 和 Windows NT 4 或更高版本的特定功能。
#define WINVER 0x0501 //爲 Windows98 和 Windows 2000 及更新版本改變爲適當的值。 
#endif

#ifndef _WIN32_WINNT // 允許使用 Windows NT 4 或更高版本的特定功能。
#define _WIN32_WINNT 0x0501 // 爲 Windows98 和 Windows 2000 及更新版本改變爲適當的值。
#endif

#ifndef _WIN32_WINDOWS //允許使用 Windows 98 或更高版本的特定功能。
#define _WIN32_WINDOWS 0x0501 // 爲 Windows Me 及更新版本改變爲適當的值。
#endif

#ifndef _WIN32_IE //  允許使用 IE 4.0 或更高版本的特定功能。
#define _WIN32_IE 0x0601 // 爲 IE 5.0 及更新版本改變爲適當的值。
#endif


替換對應的的部分即可,可以不用增添多餘的替換。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章