2015-04-23 42 views
2

我試圖擺脫_WIN32_WINNT未定義:擺脫_WIN32_WINNT未定義。

_WIN32_WINNT未定義。默認爲_WIN32_WINNT_MAXVER(請參閱WinSDKVer.h)

我在Win 7上運行VS 2010,並試圖重新編譯MFC項目,最初在Win CE中編譯。

我看了一下WinSDKVer.h,可以看到它的事情有關,但我想不通的地方被定義/放在第一位置WIN32_WINNT。

的$(OS),如果我看下prosessor預先定義的宏段,但我不能改變它被設置爲Windows_NT。不知道這是否與它有什麼關係?

有什麼想法?

非常感謝

回答

8

兩個可能的解決方法:

在您的預編譯的頭文件的頂部(通常stdafx.h中)。使其成爲第一個包含的標題。

#include <SDKDDKVer.h> 

這可能會爲您清理一些事情。

或者,你可以定義_WIN32_WINNT到您的預處理器設置一些合理。在Solution Explorer中的項目名稱上點擊右鍵,選擇「屬性...」

從屬性對話框,轉到配置屬性 - > C/C++ - >預處理器

在列表中的預處理器defintiions,加_WIN32_WINNT=0x0600的條目:

+0

+1。有關詳細信息,這些Windows頭宏預期如何定義以及它們如何相互作用:https://msdn.microsoft.com/en-us/library/windows/desktop/aa383745%28v=vs.85%29.aspx –