我在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文件时,我收到另一个错误:“动态库KERNEL32.dll中找不到initializecriticalsection过程入口点”。
现在我不知道该怎么办:(。如果有人能帮助我,我会非常感激:)。
请注意,我尝试了一个简单的对话框MFC程序,没有添加任何代码。
在网上搜索后,我发现我应该安装Visual Studio 2012 Update 1,并将平台工具集从“Visual Studio 2012(v110)”更改为“Visual Studio 2012 - Windows XP(v110_xp)”。我还将目标机器更改为“MachineX86(/ MACHINE:X86)”。这次,在Windows XP上运行exe文件时,我收到另一个错误:“动态库KERNEL32.dll中找不到initializecriticalsection过程入口点”。
现在我不知道该怎么办:(。如果有人能帮助我,我会非常感激:)。
请注意,我尝试了一个简单的对话框MFC程序,没有添加任何代码。
v110_xp
即可。我曾经用VS2012构建了一个更加复杂的应用程序,并通过切换这个选项实现了针对XP的目标。效果非常好。不过,VC++博客上的一些人遇到了一些问题,请参阅评论:http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx 请注意最后一条评论,由Daniel提到了关于/SUBSYSTEM:WINDOWS,5.01
的问题。同时,请确保客户机器上安装了正确的可再发行包。(Update 1 和 Update 2是有区别的,必须与VS2012安装的版本相同。) - ta.speot.is