如何:在 Windows 桌面应用程序中使用 Windows SDK

在 Visual Studio 中创建新的经典 Windows 桌面项目时,它默认以 Visual Studio 安装的最新 Windows SDK 为目标。 安装 C++ 桌面工作负载时,Visual Studio 会安装一个 SDK 版本。 Windows SDK 支持为 Windows 7 SP1 及更高版本编写代码。 有关针对特定 Windows 版本的详细信息,请参阅使用 Windows 标头更新 WINVER 和 _WIN32_WINNT

升级现有项目时,可以选择:可以继续使用项目中指定的目标 Windows SDK。 或者,可以重新定位项目以使用最新的 Windows SDK。 使用最新的 Windows SDK,可以获得支持最新操作系统和语言标准的优势。

为项目使用正确的 Windows SDK

从 Visual Studio 2015 开始,C 运行时 (CRT) 库分为两部分:一个部分 (ucrtbase) 包含可在通用 Windows 应用中使用的标准 C 和 Microsoft 特定的 CRT 函数。 此库现在称为通用 CRT 或 UCRT,并已移至 Windows SDK。 UCRT 包含许多支持最新 C++ 语言标准所需的新函数,例如 C99 函数。 原始 CRT 的另一部分是 vcruntime。 它包含 C 运行时支持、启动和终止代码,以及未进入 UCRT 的所有其他内容。 vcruntime 库与 Visual Studio 中的 C++ 编译器和工具集一起安装。 有关详细信息,请参阅 CRT 库功能

UCRT 现在是安装在每个版本的 Windows 10 及更高版本上的系统组件。 它还可用作所有早期受支持的 Windows 版本的可安装组件。 可以使用 Windows SDK 面向所有受支持的 Windows 版本。 有关受支持操作系统的完整列表,请参阅 Windows SDK

若要在 Visual Studio 2015 之前从项目版本升级时重新定位项目以使用最新的 Windows SDK,请执行以下步骤:

以最新的 Windows SDK 为目标

  1. 确保已安装最新的 Windows SDK。 Windows SDK 作为 Visual Studio 安装程序中的“使用 C++ 的桌面开发”工作负载的一部分进行安装。 Windows SDK 提供独立版本。

  2. 打开项目节点的快捷菜单,然后选择“重定向项目”。 (在 Visual Studio 的早期版本中,选择“重定向 SDK 版本”。)将出现“查看解决方案操作”对话框。

    Review Solution Actions.

  3. 在“目标平台版本”下拉列表中,选择要设定为目标的 Windows SDK 版本。 一般情况下,建议选择最新安装的版本。 选择“确定”按钮以应用更改。

    此上下文中的 8.1 指的是 Windows 8.1 SDK。

    如果此步骤成功,则输出窗口中将显示以下文本:

    Retargeting End: 1 completed, 0 failed, 0 skipped

  4. 打开“项目属性”对话框。 在“配置属性”>“常规”部分中,查看“Windows 目标平台版本”的值。 更改此处的值与执行过程具有相同的效果。 有关详细信息,请参阅“常规”属性页(项目)

    Target Platform property in the Property Pages dialog.

    此操作将更改项目宏的值,该项目宏中包含头文件和库文件的路径。 若要查看更改的内容,请打开“项目属性”对话框的“Visual C++ 目录”部分。 选择其中一个属性,例如“包括目录”。 然后,打开属性值的下拉列表,然后选择“<编辑>”。 将显示 “包含目录” 对话框。

    Include Directories dialog box.

    选择“宏 >>”按钮,然后将宏列表向下滚动到 Windows SDK 宏以查看所有新值。

    List of Windows SDK Macros.

  5. 根据需要对其他解决方案项目重复重定向过程,然后重新生成解决方案。

面向 Windows 8.1 SDK

  1. 在“解决方案资源管理器”中打开项目节点的快捷菜单,然后选择“重定向项目”。 (在 Visual Studio 的早期版本中,选择“重定向 SDK 版本”。)

  2. 在“目标平台版本”下拉列表中,选择 8.1。

另请参阅

演练:创建传统的 Windows 桌面应用程序 (C++)