Skip to main content
Se espera que el nuevo diseño del Microsoft Game Development Kit (GDK) para encabezados y bibliotecas que se describe en este artículo se publique en el GDK de octubre de 2025. Póngase en contacto con su administrador de cuentas de Microsoft si le interesan las compilaciones preliminares de este GDK.
En las versiones actuales del Microsoft Game Development Kit (GDK), el diseño estaba optimizado en torno al uso compartido de código y centrado en plataformas específicas. La integración de compilación para este diseño dependía en gran medida de ocultar la complejidad en plataformas personalizadas de MSBuild. En el nuevo diseño, el objetivo es simplificar la integración, admitir una lista creciente de plataformas de destino y mejorar la compatibilidad tanto con las plataformas estándar de MSBuild como con sistemas de compilación que no son de Microsoft.

Diseño anterior de encabezados y bibliotecas

El diseño de archivos existente del Microsoft GDK se resume de la siguiente manera.
Las plataformas personalizadas de MSBuild Gaming.Desktop.x64 implementan la lógica para crear las rutas de include/lib que combinan todo este contenido de diversas formas. Si usaba CMake o una solución de make personalizada, esta lógica también tenía que implementarse allí. Para ver un ejemplo detallado, consulte la versión de abril de 2025 de CMakeExample. El diseño anterior sigue presente en el GDK de octubre de 2025 para admitir tanto el estilo antiguo como el nuevo. Tanto el diseño nuevo como el anterior se instalan de forma predeterminada. El programa de instalación del GDK ahora incluye una opción para instalar solo el nuevo diseño. Un GDK futuro eliminará el diseño anterior para reducir el espacio ocupado en el disco duro y el tamaño total de la descarga. La fecha objetivo actual para eliminar el diseño anterior será un año después del momento en que se publique el GDK de octubre de 2025.

Nuevo diseño de encabezados y bibliotecas

Para la versión del GDK de octubre de 2025, el nuevo diseño ofrece un diseño alternativo para los encabezados y las bibliotecas que facilita la integración de plataformas y permite dar cabida a plataformas adicionales con el tiempo.

Uso del nuevo diseño con plataformas personalizadas de MSBuild

Las plataformas de MSBuild Gaming.*.x64 existentes usan el diseño anterior de forma predeterminada, pero puede optar por el nuevo diseño estableciendo la propiedad GDKCrossPlatform.
Esto agrega al proyecto las rutas de include/lib adecuadas en lugar de las diversas rutas complejas que usaba el diseño anterior. En esta nueva integración simplificada, ya no se usa el mecanismo de bibliotecas de extensión. Todo el contenido está disponible en tiempo de compilación de forma predeterminada en las rutas de include/lib. A continuación, el proyecto debe vincularse a las bibliotecas adicionales que use. Los proyectos basados en las plantillas de proyecto del GDK más antiguas deberían contener instrucciones como la siguiente.
En el nuevo diseño, la propiedad Console_Libs enumera las bibliotecas básicas necesarias. El proyecto debe agregar a AdditionalDependencies las bibliotecas de extensión que consuma, porque cada una de ellas es de participación voluntaria (“opt-in”). El proyecto también debe copiar en el diseño las DLL adicionales que use. Puede hacerlo mediante pasos de compilación personalizados (Custom Build), habituales en muchas integraciones de bibliotecas DLL, o editando el archivo vcxproj o agregando un archivo props para usar la lista del grupo de elementos ReferenceCopyLocalPaths. El código de MSBuild siguiente enumera todas las DLL posibles, pero cada proyecto individual solo necesitará algunas de ellas.
GameDKLatest solo lo establece el Microsoft GDK con XBOX Extensions. Por ello, hemos introducido nuevas variables de entorno que admiten totalmente la instalación en paralelo de ambas versiones del Microsoft GDK: GameDKCoreLatest lo establece el Microsoft GDK.

Uso de un archivo Directory.Build.props

Como forma de validar rápidamente proyectos Gaming.*.x64 del GDK existentes mediante el nuevo diseño, coloque el contenido siguiente en un archivo llamado Directory.Build.props en su árbol de código fuente. Esto activa el nuevo diseño e incluye la mayoría de las bibliotecas de extensión, o todas, aunque el proyecto no las use.
Las reglas de MSBuild no usan la propiedad GDKExtLibNames al compilar con GDKCrossPlatform establecido en true. Como ya está presente para compilar con las reglas de MSBuild más antiguas, en este archivo props se usa como una forma de habilitar algunas DLL adicionales en el diseño.

Cómo actualizar un juego x64 para agregar ARM64

Para agregar compatibilidad con ARM64 a un proyecto de juego x64 existente, siga estos pasos:
  1. Use Visual Studio 2022. La compatibilidad con ARM64 requiere Visual Studio 2022. Visual Studio 2019 no es compatible con las compilaciones ARM64.
  2. Habilite el nuevo diseño. Asegúrese de que su proyecto use el nuevo diseño estableciendo GDKCrossPlatform en true en el archivo del proyecto.
  3. Cree configuraciones ARM64. Copie sus configuraciones x64 existentes (como Debug y Release) para crear las configuraciones ARM64 correspondientes.
  4. Actualice las rutas de bibliotecas. Edite los directorios de VC++ de sus configuraciones ARM64 para que la ruta de bibliotecas haga referencia a lib\arm64 en lugar de a lib\x64.
  5. Actualice las referencias a la biblioteca XSAPI. Actualice las instrucciones de vinculación de todas las configuraciones (no solo ARM64) para usar Microsoft.Xbox.Services.143.GDK.C.lib en lugar de Microsoft.Xbox.Services.142.GDK.C.lib.
  6. Actualice ReferenceCopyLocalPaths. Compruebe el uso de ReferenceCopyLocalPaths en su archivo .vcxproj que podría necesitar actualizarse para hacer referencia a la carpeta bin arm64 en lugar de a x64.
Si el inicio de su título falla con el error 0xc000007b, significa que ha intentado cargar accidentalmente una DLL con formato x64 en su proceso ARM64. Compruebe si en su sistema de proyecto hay elementos ReferenceCopyLocalPaths que podrían necesitar actualizarse.

Uso del nuevo diseño con la plataforma x64 de MSBuild

En lugar de usar la plataforma Gaming.Desktop.x64, puede usar la plataforma estándar x64 para compilar para PC. En el diseño anterior, esto requería agregar instrucciones <Import Project="...\ExtensionLibrary.props"> para las bibliotecas de extensión, tal como se detalla en Uso de la plataforma x64 con el Microsoft Game Development Kit (GDK). En el nuevo diseño, las instrucciones de integración se han simplificado.
Agregue todas las bibliotecas de extensión necesarias a AdditionalDependencies junto con la lista original.
Las DLL de bibliotecas de extensión de participación voluntaria deben copiarse en el directorio de binarios como se indicó anteriormente, mediante una acción de compilación personalizada (Custom Build) o mediante el grupo de elementos ReferenceCopyLocalPaths para el diseño final. Las instrucciones restantes para PreprocessorDefinitions y para administrar el archivo .mgc con los recursos de imagen permanecen sin cambios.

Uso del nuevo diseño con CMake

Cuando use los generadores de Microsoft Visual Studio con CMake y las plataformas personalizadas de MSBuild Gaming.*.x64, habilite el nuevo diseño con el código siguiente.
En CMakeGDKExample, quite el uso de VS_GLOBAL_GDKExtLibNames y reemplácelo por el código siguiente (suponiendo CMake 3.21 o posterior) para copiar en el diseño las DLL de extensión utilizadas.

Uso del nuevo diseño con sistemas de compilación personalizados

Compilar para Windows x64 mediante el GDK requiere lo siguiente.

Lectura de la edición de compilación desde un archivo instalado

El nuevo diseño no contiene el archivo grdk.ini. Para encontrar la información de edición analizando un archivo, use grdk.h. Este es un ejemplo en PowerShell que también funciona con versiones anteriores del GDK.
Última modificación el 28 de agosto de 2026