本文介绍的目录结构是随 2025 年 10 月 GDK 引入的简化(跨平台)布局。从 2026 年 10 月 GDK 开始,默认安装简化布局。旧版布局仍作为一个可选的、已弃用的兼容途径提供,供需要更多迁移时间的团队使用。从 2027 年 4 月 GDK 版本开始,旧版布局将不再受支持,并将从安装程序中移除。
旧的头文件和库布局
Microsoft GDK 现有的文件布局概括如下。新的头文件和库布局
2025 年 10 月 GDK 版本为头文件和库提供了一种替代布局,使平台集成更加容易,并能够随着时间的推移容纳更多平台。在 MSBuild 自定义平台中使用新布局
现有的 Gaming.*.x64 MSBuild 平台默认使用旧布局,但你可以通过设置 GDKCrossPlatform 属性选择使用新布局。
项目需要将其使用的扩展库添加到 AdditionalDependencies 中,因为每个扩展库都是“选择加入”的。
项目还需要将其使用的其他 DLL 复制到布局中。这可以通过许多 DLL 库集成中常用的自定义生成步骤来完成,也可以通过编辑 vcxproj 或添加 props 文件来使用 ReferenceCopyLocalPaths 项组列表来完成。下面的 MSBuild 列出了所有可能的 DLL,但各个项目只需要其中的一部分。
GameDKLatest 仅由 Microsoft GDK with XBOX Extensions 设置。因此,我们引入了新的环境变量,全面支持两个版本的 Microsoft GDK 并行安装:GameDKCoreLatest 由 Microsoft GDK 设置,GameDKXboxLatest 由 Microsoft GDK with XBOX Extensions 设置。使用 Directory.Build.props
若要使用新布局快速验证现有的 GDK Gaming.*.x64 项目,请将以下内容放入源代码树中名为 Directory.Build.props 的文件中。这会选择使用新布局,并包含大部分或全部扩展库,即使项目并未使用它们。在将 GDKCrossPlatform 设置为 true 进行构建时,MSBuild 规则不会使用 GDKExtLibNames 属性。由于该属性在使用较旧 MSBuild 规则构建时已经存在,因此在此 props 文件中用它来选择将某些其他 DLL 加入布局。
在 MSBuild x64 平台中使用新布局
你可以使用标准 x64 平台(而不是 Gaming.Desktop.x64 平台)来构建 PC 版本。在旧布局中,这需要为扩展库添加<Import Project="...\ExtensionLibrary.props"> 语句,详见在 Microsoft Game Development Kit (GDK) 中使用 x64 平台。
在新布局中,集成说明得到了简化。
在 CMake 中使用新布局
在 CMake 中使用 Microsoft Visual Studio 生成器并使用 Gaming.*.x64 自定义 MSBuild 平台时,可通过以下方式启用新布局。VS_GLOBAL_GDKExtLibNames 的使用,并将其替换为以下内容(假定使用 CMake 3.21 或更高版本),以将所用的扩展 DLL 复制到布局中。
在自定义构建系统中使用新布局
使用 GDK 构建 Windows x64 版本需要以下设置。将新布局用于 PC 内容工具
对于主机开发,某些类型的内容“烘焙”是在开发 PC 上使用 XTF API、XMA2 编码库和/或自定义 Direct3D 12.X 工具完成的。访问这些内容需要特定的构建设置: 构建同时面向 XBOX One 和 XBOX Series X|S 的 PC 工具需要:从已安装的文件中读取构建版本
新布局不包含grdk.ini 或 gxdk.ini 文件。若要通过解析文件来查找版本信息,请使用 grdk.h 或 gxdk.h。
下面是一个 PowerShell 示例,它同样适用于较旧的 GDK 版本。
无需安装构建 (BWOI)
在旧布局中原本位于<edition>\flatDeployment 下的 MSBuild 自定义构建平台文件,现在位于 <edition>\xbox\build 下,路径更短。
例如,若要为 VS 2022 设置 BWOI MSBuild 规则文件夹,请使用以下命令。
