在Visual Studio 2017中设置Windows SDK版本

7

我有一个C++项目,在Visual Studio 2013下编译顺利。 今天我安装了Visual Studio 2017 Professional Edition,然后在项目设置 > 常规 中出现了一个新的设置叫做“Windows SDK版本”,默认值为10.0.16299.0。由于我要编译针对Windows 7系统的桌面程序,所以我将其更改为8.1,这样做正确吗?

2个回答

5

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

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

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

#define WINVER 0x0601
#define _WIN32_WINNT 0x0601

想了解更多信息,请参见 使用 Windows 标头文件修改 WINVER 和 _WIN32_WINNT


3
事实上,我提出这个问题是因为我的全新安装的Visual Studio无法构建VM,因为SDK 16299现在确实是默认的。在这里提到了这一点:https://en.wikipedia.org/wiki/Microsoft_Windows_SDK。 此外,微软并没有让寻找旧版SDK变得很容易。您必须通过单击此页面末尾的另一页来查找: https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk 即使我在Google上搜索“Microsoft Windows SDK 15063”。 总之,对于新手来说,现在在VM上启动和运行是一个小麻烦。首先,我认为应该尽可能地简化它。(复杂性将很快随之而来 :))。 PS:我不确定Windows 7的兼容性。但是,当前的VM SDK也被列为适用于Windows 10。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接