Can#39;t change Windows SDK version in Visual Studio C++ project(无法在 Visual Studio C++ 项目中更改 Windows SDK 版本)
问题描述
我有一个使用 Visual Studio 2015 创建的 Visual Studio C++ 控制台应用程序,但现在我无法编译它(使用 Visual Studio 2017),因为它针对的是未安装的 Windows 8.1 SDK.问题是我无法将项目重新定位到 Windows 10 SDK.
I have a Visual Studio C++ console application that I created with Visual Studio 2015 and now I can't compile it (with Visual Studio 2017) because it is targeting the Windows 8.1 SDK, which is not installed. The problem is that I can't retarget the project to the Windows 10 SDK.
发生的情况是,当我打开项目属性页面并转到 General - Target Platform 时,我在下拉列表中看到了 Windows 10 SDK,并且我可以选择它...但是作为一旦我按下 Apply,它会自行恢复到 8.1.没有提供错误消息.
What happens is that when I open the project properties page and go to General - Target Platform I see the Windows 10 SDK in the dropdown, and I am able to select it... but as soon as I press Apply, it reverts back to 8.1 by itself. No error message is provided.
Visual Studio 安装程序说,确实安装了列出的 SDK 版本:
Visual Studio installer says that, indeed, the listed SDK version is installed:
那么这里发生了什么?有没有办法重新定位我的项目而无需安装 Windows 8.1 SDK?
So what's going on here? Is there a way to retarget my project without having to install the Windows 8.1 SDK?
不确定这是否重要,但是:这个项目实际上只是一个现有裸项目的包装器",其中包含一堆 .cpp 和 .h 文件,这些文件是由另一个人开发的.我真的不熟悉 C++ 开发.
推荐答案
在解决这个问题几个小时后,我偶然发现选择Project Properties/General,将Platform Toolset"更改为v141_xp(而不是 v141) 强制将 Windows SDK 版本降至 8.1 或 7.0.我不确定 Visual Studio 如何选择使用哪个 SDK.
After hours of struggling with this problem, I coincidentally discovered that selecting Project Properties/General, changing "Platform Toolset" to v141_xp (instead of v141) forcibly drops the Windows SDK Version to 8.1 or 7.0. I'm not sure how Visual Studio chooses which SDK to use.
您必须编辑 .vcxproj 并同时更改:
You must edit .vcxproj and change both:
<TargetPlatformVersion>10.0.17134.0</TargetPlatformVersion>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
这篇关于无法在 Visual Studio C++ 项目中更改 Windows SDK 版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:无法在 Visual Studio C++ 项目中更改 Windows SDK 版本
基础教程推荐
- 从 std::cin 读取密码 2021-01-01
- 管理共享内存应该分配多少内存?(助推) 2022-12-07
- Windows Media Foundation 录制音频 2021-01-01
- 如何“在 Finder 中显示"或“在资源管理器中显 2021-01-01
- 如何使图像调整大小以在 Qt 中缩放? 2021-01-01
- 为什么语句不能出现在命名空间范围内? 2021-01-01
- 为 C/C++ 中的项目的 makefile 生成依赖项 2022-01-01
- 使用从字符串中提取的参数调用函数 2022-01-01
- 在 C++ 中循环遍历所有 Lua 全局变量 2021-01-01
- 如何在不破坏 vtbl 的情况下做相当于 memset(this, ...) 的操作? 2022-01-01