2013-04-20 109 views
7

我在Windows 7上有VS 2012.我想構建一個可以在Windows XP上運行的MFC程序。但是,當我將exe文件移動到Windows XP時,我收到以下錯誤:「它不是有效的win32應用程序」。編譯與VS 2012在Windows XP上運行的MFC程序

在互聯網上探索之後,我發現我應該安裝Visual Studio 2012 Update 1並將平臺工具集從「Visual Studio 2012(v110)」更改爲「Visual Studio 2012 - Windows XP(v110_xp)」。我還將目標機器更改爲「MachineX86(/ MACHINE:X86)」。這次我在Windows XP上運行exe文件時收到另一個錯誤:「程序入口點initializecriticalsection無法位於動態庫KERNEL32.dll中」。

現在我不知道該怎麼做:(。我很感激,如果有人可以幫助我:)。

請注意,我嘗試了一個簡單的對話框MFC程序,而不添加任何代碼。

+0

當你試圖簡單的MFC項目沒有它的工作還是失敗? – 2013-04-20 09:38:55

+0

我甚至不知道你是否感冒*目標* XP與2012年。我想這個更新授予了大衆需求。你提到「請注意,我嘗試了一個簡單的對話框MFC程序,而不添加任何代碼。」然後......沒事。結果是什麼,還是我們假設它是一樣的? – WhozCraig 2013-04-20 09:40:29

+0

如果將來請不要鏈接到二進制下載。如果您**必須**提供鏈接,則應該提供描述,源代碼或下載頁面。 – 2013-04-20 09:47:22

回答

2

This is a bug in Visual Studio 2012 Update 2。鏈接有更新2解決方法(雖然一個社區來源之一),而微軟也這樣說的:

發佈Microsoft在2013年6月5日16:16

是,這是固定的更新3

所以最好的辦法是回滾到Update 1或等待更新3

編輯Visual Studio 2012 Update 3 Release Candidate has been released with "go-live" licensing。警告:

支持聲明:

的Visual Studio 2012更新3 RC和Team Foundation Server 2012年更新3 RC是「上線」。這意味着客戶可以在生產環境中使用這些版本。 這些仍然是預發行版本,所以可能會有一些錯誤將在最終版本中修復。從Update 3 RC升級到Update 3 RTM受支持。爲了升級到未來版本,客戶必須首先從Update 3 RC升級到Update 3 RTM。

更多信息可用here

EDIT 2原來rolling back to Update 1 breaks Visual Studio ...

+0

儘管更新3仍然存在相同的問題RC – tofutim 2013-05-11 15:56:53

+0

@tofutim看看第一個鏈接。請參閱simdoc的評論以及YLzhou提供的解決方法。可能或不會幫助。 – 2013-05-11 21:53:18

相關問題