2013-04-20 127 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

相关问题