我有一个Visual Studio C ++控制台应用程序,我使用Visual Studio 2015创建,现在我无法编译它(使用Visual Studio 2017),因为它的目标是未安装的Windows 8.1 SDK。问题是我无法将项目重新定位到Windows 10 SDK。
当我打开项目属性页面并转到常规 - 目标平台时,我会在下拉列表中看到Windows 10 SDK,我可以选择它...但是我按 Apply 后,它会自动恢复为8.1 。没有提供错误消息。
Visual Studio安装程序说,确实已安装列出的SDK版本:
那么这里发生了什么?有没有办法重新定位我的项目而无需安装Windows 8.1 SDK?
不确定这是否重要但是:这个项目实际上只是一个现有裸项目的“包装器”,它只包含一堆由另一个人开发的.cpp和.h文件。我真的不熟悉C ++开发。
答案 0 :(得分:3)
经过几个小时的努力解决这个问题,我巧合地发现选择项目属性/常规,将“平台工具集”更改为v141_xp (而不是v141)强制将Windows SDK版本降至8.1或7.0 。我不确定Visual Studio如何选择使用哪个SDK。
编辑:您必须编辑.vcxproj并更改两者:
<TargetPlatformVersion>10.0.17134.0</TargetPlatformVersion>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>