2014-03-05 369 views
-1

我有我正在修改的應用程序,然後我編譯它在Visual Studio 2012C++應用程序)。當我在64bit windows上試過時,應用程序可以正常工作,但是當我試圖在32bit windows xp下運行它時,我收到類似「.exe不是有效的win32應用程序」的消息。我在網上找到了幾條建議,但沒有成功,所以現在我不知道問題在哪裏,因爲我已經在幾個win7 64bit OS上進行了測試。Exe不是有效的win32應用程序,但在64位上運行

在配置管理器窗口中的Visual Studio我在項目的平臺列中選擇了選項win32

+0

確實聽起來像VS仍在編譯爲64位:( –

+0

你是否重新編譯爲32位或者你是否試圖運行在64位系統上構建的同一個EXE文件? – Wyzard

+2

默認情況下,VS2012不是更長時間支持爲XP構建可執行文件,至少需要更新1並將工具集設置更改爲v110_xp。 –

回答

2

您應該檢查所有項目設置。

「Win32」只是一個名字。例如,無論配置名稱如何,您都可以在鏈接器設置中將Machine-> X64作爲目標。

+0

我將目標機器設置爲X86,但似乎我需要VS2012的更新來編譯XP。 – Gresthorn

+0

是的...爲了使您的應用程序可以在XP中運行,您必須下載服務包(顯然最新的是推薦)並更改一般屬性以使用它(名爲v110_xp) –

0

如果沒有更多信息,我會說你正在鏈接64位只有在32位平臺上不可用的庫。檢查您的鏈接器設置並重新構建。

相關問題