使用在Windows XP上运行的VS 2012编译MFC程序

时间:2013-04-20 09:31:17

标签: c++ mfc windows-xp

我在Windows 7上安装了VS 2012.我想构建一个可以在Windows XP上运行的MFC程序。但是,当我将exe文件移动到Windows XP时,我收到以下错误:“它不是一个有效的win32应用程序”。

在互联网上探索之后,我发现我应该安装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程序,但没有添加任何代码。

1 个答案:

答案 0 :(得分:2)

This is a bug in Visual Studio 2012 Update 2。该链接有一个更新2的解决方法(虽然社区采购了一个),微软有这样的说法:

  

Microsoft于2013年6月6日16:16发布

     

是的,这已在Update 3中修复

因此,最好的办法是回滚到Update 1或等待Update 3。

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

  

支持声明

     

Visual Studio 2012 Update 3 RC和带有Update 3 RC的Team Foundation Server 2012是“上线”。这意味着客户可以在生产环境中使用这些构建。 这些仍然是预发行版,因此可能会有一些错误将在最终版本中修复。从Update 3 RC升级到Update 3 RTM受支持。要升级到将来的版本,客户必须首先从Update 3 RC升级到Update 3 RTM。

有更多信息here

编辑2 结果rolling back to Update 1 breaks Visual Studio ...