2012-04-10 78 views
1

我有一個非常基本的C++編譯在Windows 7上的VS 11測試版。C++二進制不能在Windows XP上工作

除運行時庫外,所有項目設置都是默認設置。我將多線程DLL(/ MD)更改爲多線程(/ MT)。據我所知,這靜態鏈接運行時庫。

試圖在安裝了VS 11 Beta的另一臺Windows 7計算機上運行此exe文件時工作正常。

試圖在沒有安裝VS的windowx XP機器上運行它會導致出現錯誤彈出窗口。

*的* .exe不是有效的Win32應用程序」

是否有需要改變,使這是與Win7的VS 11測試版編譯於XP的二進制工作的一些設置?

+3

你編譯一個32位或64位二進制? – orlp 2012-04-10 20:09:44

+0

@ nightcracker好點。我似乎無法找到項目設置中的x64設置。它移動到其他地方了嗎? – 2012-04-10 20:11:53

+1

Windows XP不受Visual Studio 11支持,但您可能可以解決該問題:http://stackoverflow.com/questions/7702463/what-is-special-about-the-executables-compiled-with-visual -studio-11-which-resul – DCoder 2012-04-10 20:11:53

回答

6

VS 11不再支持Windows XP。這是由微軟設計的。

http://connect.microsoft.com/VisualStudio/feedback/details/690617

此行爲是在MFC和CRT設計爲Visual Studio 11 Beta版。支持的最低操作系統是Windows Server 2008 SP2和Windows Vista。 Windows XP不是Beta版本(設計時或運行時)支持的操作系統。

進一步閱讀討論,可能會在發行版本中支持Windows XP。儘管如此,我不會爲此付錢。

編輯:微軟已經動心了:Targeting Windows XP with C++ in Visual Studio 2012

2

可能您編譯的是64位Windows。但是,Windows XP只支持32位代碼。

+2

還有一個64位的XP版本(雖然32位版本更常見)。 – 2012-04-10 20:13:04

+0

我在項目設置中找不到x86 x64的設置。任何想法可能在哪裏? – 2012-04-10 20:18:02

相關問題