Visual Studio 2017 中的 Windows SDK 版本设置

Posted

技术标签:

【中文标题】Visual Studio 2017 中的 Windows SDK 版本设置【英文标题】:Windows SDK Version setting in Visual Studio 2017 【发布时间】:2017-12-14 10:04:21 【问题描述】:

我有一个在 Visual Studio 2013 下编译良好的 c++ 项目。 今天我安装了Visual Studio 2017专业版,然后在项目设置>通用里面有个新设置叫“Windows SDK版本”,默认是10.0.16299.0。由于我正在编译针对Windows 7系统的Windows桌面程序,因此将其更改为8.1,是否正确?

【问题讨论】:

【参考方案1】:

一般来说,Windows SDK 支持其“主”版本以及之前的版本,但您需要指定程序所需的 Windows 版本。事实上,您最好这样做,否则您可能会无意中使用您想要支持的版本中不可用的功能。

给定一个 SDK,您可以通过在项目文件的某处或 Visual Studio 的 C/C++ 预处理器项目设置中定义 WINVER 和 _WIN32_WINNT 宏来指示要面向哪个旧 Windows 版本。

例如,以下定义针对 Windows 7:

#define WINVER 0x0601
#define _WIN32_WINNT 0x0601

有关详细信息,请参阅Using the Windows Headers 和 Modifying WINVER and _WIN32_WINNT

【讨论】:

【参考方案2】:

确实我提出了这个问题,因为我新安装的 Visual Studio 无法构建 VM,因为 SDK 16299 现在确实是默认值。这里提到: https://en.wikipedia.org/wiki/Microsoft_Windows_SDK。 . 此外,MS 并不容易找到较旧的 SDK。您必须在此页面的末尾一直单击到另一个页面: https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk 即使我在“Microsoft Windows SDK 15063”上搜索过。 . 所以总而言之,对于新手来说,在虚拟机上启动和运行现在是一件小事。首先,我认为它应该尽可能简单。 (复杂性很快就会出现:))。 . PS 我不确定 Windows 7 的兼容性。但当前的 VM SDK 也被列为适用于 Windows 10。

【讨论】:

以上是关于Visual Studio 2017 中的 Windows SDK 版本设置的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2017 c++ win32 控制台项目模板

win10 visual studio 2017环境中安装CUDA8

Visual Studio 2017 c ++ win32控制台项目模板

解决记录:win10 无法安装VS2017,visual studio installer下载进度始终为0

1_OpenCV3.4.0+Visual Studio2017 + win10环境配置

visual studio2017社区版如何空格操作?