2008年11月13日 星期四

嘗試用C++寫一顆元件發生錯誤

錯誤 1 fatal error C1189: #error : NTDDI_VERSION setting conflicts with _WIN32_WINNT setting c:\program files\microsoft sdks\windows\v6.0a\include\sdkddkver.h 214

沒錯!這就是遇到的錯誤!完全跟我的程式碼無關。看起來像是辨識作業系統版本的問題,卡彈卡超久的。

1 則留言:

無名小卒 提到...

後來無意間看到這個檔案targetver.h
檔案內容如下:

#pragma once

// 下列巨集會定義最低平台需求。最低平台需求是指各種版本的
// Windows、Internet Explorer 中,具備執行應用程式所需功能的
// 最早版本。巨集的作用,是在指定或更新版本的平台上啟用
// 所有可用的功能。

// 如果您有必須優先選取的平台,請修改下列定義。
// 參考 MSDN 取得不同平台對應值的最新資訊。
#ifndef WINVER // 指定最低平台需求為 Windows Vista。
#define WINVER 0x0500 // 將它變更為針對 Windows 其他版本的適當值。
#endif

#ifndef _WIN32_WINNT // 指定最低平台需求為 Windows Vista。
#define _WIN32_WINNT 0x0500 // 將它變更為針對 Windows 其他版本的適當值。
#endif

#ifndef _WIN32_WINDOWS // 指定最低平台需求為 Windows 98。
#define _WIN32_WINDOWS 0x0410 // 將它變更為針對 Windows Me (含) 以後版本的適當值。
#endif

#ifndef _WIN32_IE // 指定最低平台需求為 Internet Explorer 7.0。
#define _WIN32_IE 0x0550 // 將它變更為針對 IE 其他版本的適當值。
#endif