在Windows10上构建并在Windows7上运行时,为什么会出现“非法指令”错误

问题描述

我在Windows7上使用VS2017构建了一个c ++程序。 当我在Windows7或Windows10上运行它时,没有问题。

如果我在Windows10上构建相同的程序(仍使用VS2017),则该程序在Windows10上运行正常,但是当我尝试在Windows7上运行该程序时,出现“ 0xC000001D:非法指令。”错误。

甚至可以在Windows7上运行Windows10中内置的程序吗?如果可以的话,我该怎么办?

谢谢

解决方法

两个VS2017安装中的默认SDK将有所不同。右键单击项目,选择“属性”,然后选择“常规”页面。参见Windows SDK Version

您可以使用Visual Studio安装程序(“修改”)安装不同的SDK版本(和不同的平台工具集)。

您可能需要安装v140工具集。

另请参阅以下响应: https://social.msdn.microsoft.com/Forums/vstudio/en-US/e19634d8-f635-4ed0-b8d7-45b64ccbd6fa/windows-sdk-7-in-visual-studio-2017?forum=visualstudiogeneral

...其中指出:

您可以使用默认项目模板创建一个项目。之后,右键单击“解决方案资源管理器”下的项目名称,然后转到“配置属性-常规”,将“平台工具集”修改为Windows7.1SDK,因为已经安装了Windows SDK7。请查看以下注释:>

##要更改目标平台工具集,必须安装关联的Visual Studio版本或Windows Platform SDK。例如,要使用Windows7.1SDK平台工具集定位Itanium平台,您必须安装用于Windows 7和.NET Framework 4 SP1的Microsoft Windows SDK

如果上述方法不起作用,如果您在同一台计算机上安装了VS 2010和VS 2017,则还可以将平台工具集修改为Visual Studio 2010(v100),该工具集具有与Windows SDK 7相同的编译器。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...