旧的头文件和库布局
Microsoft GDK 的现有文件布局概述如下。新的头文件和库布局
在 2025 年 10 月 GDK 版本中,新布局为头文件和库提供了一种替代布局,使平台集成更加简单,并能够随着时间推移容纳更多平台。将新布局与 MSBuild 自定义平台结合使用
现有的 Gaming.*.x64 MSBuild 平台默认使用旧布局,但你可以通过设置 GDKCrossPlatform 属性来选择使用新布局。
项目需要将其使用的扩展库添加到 AdditionalDependencies 中,因为每个扩展库都是“选择加入”的。
项目还需要将其使用的其他 DLL 复制到布局中。可以通过许多 DLL 库集成中常见的自定义生成步骤来执行此操作,也可以通过编辑 vcxproj 或添加 props 文件来使用 ReferenceCopyLocalPaths 项组列表。下面的 MSBuild 列出了所有可能的 DLL,但各个项目只需要其中的一部分。
GameDKLatest 仅由带有 XBOX 扩展的 Microsoft GDK 设置。因此,我们引入了新的环境变量,完全支持两个版本的 Microsoft GDK 并行安装:GameDKCoreLatest 由 Microsoft GDK 设置。使用 Directory.Build.props 文件
为了使用新布局快速验证现有的 GDK Gaming.*.x64 项目,请将以下内容放入源代码树中名为 Directory.Build.props 的文件中。这会选择使用新布局,并包含大部分或全部扩展库,即使项目未使用这些库。在将 GDKCrossPlatform 设置为 true 进行生成时,MSBuild 规则不使用 GDKExtLibNames 属性。由于该属性已存在于使用旧 MSBuild 规则的生成中,因此在此 props 文件中使用它来选择在布局中加入一些额外的 DLL。
如何更新 x64 游戏以添加 ARM64 支持
要为现有 x64 游戏项目添加 ARM64 支持,请按照以下步骤操作:- 使用 Visual Studio 2022。 ARM64 支持需要 Visual Studio 2022。Visual Studio 2019 不支持 ARM64 生成。
- 启用新布局。 在项目文件中将
GDKCrossPlatform设置为true,确保项目使用新布局。 - 创建 ARM64 配置。 复制现有的 x64 配置(例如 Debug 和 Release),以创建相应的 ARM64 配置。
- 更新库路径。 编辑 ARM64 配置的 VC++ 目录,使库路径引用
lib\arm64而不是lib\x64。 - 更新 XSAPI 库引用。 更新_所有_配置(而不仅仅是 ARM64)的链接语句,使用
Microsoft.Xbox.Services.143.GDK.C.lib而不是Microsoft.Xbox.Services.142.GDK.C.lib。 - 更新 ReferenceCopyLocalPaths。 检查
.vcxproj文件中的ReferenceCopyLocalPaths用法,可能需要将其更新为引用arm64bin 文件夹而不是x64。
如果游戏启动失败并出现错误 0xc000007b,则表示你意外尝试将 x64 格式的 DLL 加载到 ARM64 进程中。请检查项目系统中可能需要更新的
ReferenceCopyLocalPaths 项。将新布局与 MSBuild x64 平台结合使用
可以使用标准 x64 平台代替 Gaming.Desktop.x64 平台来为 PC 生成。在旧布局中,这需要为扩展库添加<Import Project="...\ExtensionLibrary.props"> 语句,详见“将 x64 平台与 Microsoft Game Development Kit (GDK) 结合使用”。
在新布局中,集成说明得到了简化。
将新布局与 CMake 结合使用
将 Microsoft Visual Studio 生成器与 CMake 结合使用并使用 Gaming.*.x64 自定义 MSBuild 平台时,请使用以下代码启用新布局。VS_GLOBAL_GDKExtLibNames 的使用,并将其替换为以下代码(假设使用 CMake 3.21 或更高版本),以将使用的扩展 DLL 复制到布局中。
将新布局与自定义生成系统结合使用
使用 GDK 为 Windows x64 生成需要以下设置。从已安装的文件中读取生成版本
新布局不包含grdk.ini 文件。要通过解析文件查找版本信息,请使用 grdk.h。
以下是一个 PowerShell 示例,它也适用于较旧的 GDK 版本。
