2014-03-05 346 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位平台上不可用的库。检查您的链接器设置并重新构建。

相关问题