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