C++ 为Windows XP构建即使是专用工具链也会失败

C++ 为Windows XP构建即使是专用工具链也会失败,c++,visual-studio-2013,windows-xp,C++,Visual Studio 2013,Windows Xp,我用C++代码VisualStudio 2013 将一个C++项目构建成一个32位.exe,用指定的平台工具集:< /强>代码> VisualStudio 2013——WindowsXP(V120 XP)< /C> < /P> 当我尝试在使用Windows XP的计算机上运行新的.exe时,我得到一个。exe不是有效的Win32应用程序错误 我还必须做什么才能使它在XP上运行 此外,我必须添加两个目前无法更改的约束: 编译器必须是MSVC 我不能使用比Visual Studio 2013中版本更

我用C++代码VisualStudio 2013 <代码>将一个C++项目构建成一个32位.exe,用指定的<强>平台工具集:< /强>代码> VisualStudio 2013——WindowsXP(V120 XP)< /C> < /P> 当我尝试在使用Windows XP的计算机上运行新的.exe时,我得到一个
。exe不是有效的Win32应用程序
错误

我还必须做什么才能使它在XP上运行

此外,我必须添加两个目前无法更改的约束:

  • 编译器必须是
    MSVC

  • 我不能使用比Visual Studio 2013中版本更早的版本(
    v120&v120\u xp

  • 我还能做什么

  • 单击开始,然后单击运行

  • 键入“command.com”,然后按Enter键。(DOS窗口将打开。)

  • 键入以下内容:

     "cd\"
    
     "cd \windows"
    
    键入每一项后按Enter键

  • 键入copy“regedit.exe regedit.com”,然后按Enter键

  • 键入“start regedit.com”,然后按Enter键

  • 导航到并选择关键点:

    HKEY\U CLASSES\U ROOT\exefile\shell\open\command

  • 在右侧窗格中,双击(默认)值

  • 删除当前值数据,然后键入:

    “%1”%*

    提示:键入字符:引号百分比一个引号空格百分比星号

  • 关闭Regedit实用程序


  • 你能详细说明一下吗,我不确定这到底是做什么的。这修复了一个损坏的shell关联,它有不同的症状。嗯,更改工具集不起作用。最明显的错误是在调试配置中更改它,但在发布配置中忘记了这样做。