2013-11-28 91 views
2

我知道自從VS2012以來,微軟已經停止了對Windows XP的支持。 VS2012有一個更新,所以開發人員可以製作Windows XP支持的應用程序。現在我開始學習Qt庫。我使用Qt Creator,我使用的編譯器來自VS2012。有沒有辦法在Qt Creator中選擇選項,以便它可以爲XP生成有效的32位exe文件?或者,在我的PC VS2010上安裝並使用它的編譯器會更好嗎?順便說一句,我正在Windows 7上的應用程序,一切正常。使用Visual Studio 2012的編譯器爲Windows XP製作Qt應用程序

回答

4

我們正在使用VS2012並利用您提到的更新將我們的VC++二進制文件定位到Windows XP。它工作正常。在Visual Studio中,我們通過轉至項目屬性配置屬性 - >常規 - >平臺工具集並選擇「Visual Studio 2012 - Windows XP(v110_xp)」來執行此操作。

檢查編譯器命令行選項(配置屬性> C/C++ - >命令行),似乎它告訴編譯器到目標XP中的切換是下列:

/D "_USING_V110_SDK71_" 

而在鏈接命令行選項:

/SUBSYSTEM:WINDOWS,5.01 
/SUBSYSTEM:WINDOWS,5.02 

第一個用於x86,第二個用於x64(僅使用一個)。如果它是一個控制檯應用程序,使用這些來代替:

/SUBSYSTEM:CONSOLE,5.01 
/SUBSYSTEM:CONSOLE,5.02 

我改變了平臺工具集和這些就走了,所以我想他們是你所需要的。在QtCreator中,您應該相應地編輯編譯器和鏈接器命令行選項。

編輯:如果這樣不起作用,請嘗試使用this article的「從命令行定位」部分的指示。

+0

感謝您的回覆。我會嘗試。但我不熟悉通過命令行設置選項,如果我無法做到這一點,在我的PC上安裝VS 2010並使用它的編譯器會出現問題? VS2012上可以使用哪些東西,但在VS2010上無法使用? – user3038079

+2

如果您使用VS2010的方式,與VS2012相比,您將失去一些C++ 11功能。 [這個SO問題](http://stackoverflow.com/questions/7421825/c11-features-in-visual-studio-2012)討論的細節。如果你沒有使用任何這些功能,並且確信將來不再需要它們,當然,就去做吧。我的箱子裏有VS2012,VS2010和VS2008,如果你擔心的話,他們不會彼此混淆。 –

+1

除了C++ 11功能之外,還討論了其他C++功能[此處](http://blogs.msdn.com/b/vcblog/archive/2012/08/14/10339695.aspx) –

相關問題