2012-05-22 38 views
4

我最近安裝了Windows 8 SDK版本(8.0 & 8.0A)以及VS2011測試版。這使得我的所有VS2010項目都試圖針對Windows SDK版本8.0而不是7.1A(它們應該構建的版本)進行構建。我想弄清楚如何設置哪個SDK應該被用作目標版本。我已經找到了這個網頁:如何在VS2010中設置Windows SDK目標版本?

http://msdn.microsoft.com/en-us/library/ff660764.aspx

其中規定:

在Visual Studio 2010中

  • 使用Windows SDK工具在Visual Studio 2010中,打開一個解決方案(.sln )文件或創建一個解決方案。
  • 在解決方案資源管理器中,右鍵單擊解決方案節點,然後單擊屬性。
  • 在配置列表中,選擇所有配置。
  • 在配置屬性下,選擇常規。
  • 作爲平臺工具集選項,選擇Windows7.1SDK。
  • 單擊確定。

但是沒有配置屬性下的「常規」選項....有誰知道如何做到這一點?

回答

4

您發現該文檔是稍有不當:它的可用該項目性能,而不是解決方案特性:

Platform Toolset

+0

+1是的我也發現了這一點,可悲的是,這意味着需要更改我的解決方案中的所有300個項目:-( – Benj

+1

)手動修改一個項目,查看它是如何保存在項目文件中,然後以編程方式應用相同的更改應該相對容易從腳本或程序到所有項目,儘管如此 – hvd

+3

你可以一次選擇多個項目 –

0

如果您在appropriately defineWINVER_WIN32_WINNT之前包括windows.h,針對8.0 SDK的構建應該不成問題。你試過這個嗎?

+0

由於合同原因,我無法針對8.0 SDK進行構建,整個團隊正在針對7.1進行構建。我們已經設置了WINVER等,但我現在肯定需要針對7.1 SDK進行構建。 – Benj

+0

@Benj您可以通過針對8.0 SDK進行開發並在7.1 SDK上的單獨構建服務器上構建而避免此問題嗎? – hvd

+0

@ hvd - 是的,實際上我們確實有這樣的構建服務器。然而,能夠在本地構建是一件很好的事情(如果我打破了服務器上的構建,我會大聲疾呼)。曾經有一個SDK配置工具可以讓你設置預期的目標,但不支持> VS2008。 – Benj

0

我通常定義解決方案廣泛下列預定義宏的Windows XP SP3:

WINVER=0x0501 
_WIN32_WINNT=0x0501 
NTDDI_VERSION=0x05010300 

同樣,你可以定義自己的Windows版本:more info.