Ancienne disposition des en-têtes et bibliothèques
La disposition de fichiers existante du Microsoft GDK est résumée ci-dessous.Nouvelle disposition des en-têtes et bibliothèques
Pour la version d’octobre 2025 du GDK, la nouvelle disposition propose une organisation alternative des en-têtes et bibliothèques qui facilite l’intégration à la plateforme et permet d’accueillir d’autres plateformes au fil du temps.Utilisation de la nouvelle disposition avec les plateformes MSBuild personnalisées
Les plateformes MSBuild Gaming.*.x64 existantes utilisent l’ancienne disposition par défaut, mais vous pouvez adopter la nouvelle disposition en définissant la propriété GDKCrossPlatform.
Le projet doit ajouter à AdditionalDependencies les bibliothèques d’extension qu’il consomme, car chacune d’elles est facultative (« opt-in »).
Le projet doit également copier dans la disposition les DLL supplémentaires qu’il utilise. Vous pouvez le faire soit au moyen d’étapes de build personnalisée, typiques de nombreuses intégrations de bibliothèques DLL, soit en modifiant le fichier vcxproj ou en ajoutant un fichier props pour utiliser la liste de groupes d’éléments ReferenceCopyLocalPaths. Le code MSBuild ci-dessous répertorie toutes les DLL possibles, mais chaque projet n’en aura besoin que de certaines.
GameDKLatest n’est défini que par le Microsoft GDK avec XBOX Extensions. C’est pourquoi nous avons introduit de nouvelles variables d’environnement qui prennent entièrement en charge l’installation côte à côte des deux versions du Microsoft GDK : GameDKCoreLatest est défini par le Microsoft GDK.Utilisation d’un fichier Directory.Build.props
Pour valider rapidement des projets GDK Gaming.*.x64 existants avec la nouvelle disposition, placez le contenu suivant dans un fichier nommé Directory.Build.props dans votre arborescence source. Cela active la nouvelle disposition et inclut la plupart, voire la totalité, des bibliothèques d’extension, même si le projet ne les utilise pas.La propriété GDKExtLibNames n’est pas utilisée par les règles MSBuild lors d’une build avec GDKCrossPlatform défini sur true. Comme elle est déjà présente pour les builds avec les anciennes règles MSBuild, elle est utilisée dans ce fichier props pour activer certaines DLL supplémentaires dans la disposition.
Mise à jour d’un jeu x64 pour ajouter ARM64
Pour ajouter la prise en charge d’ARM64 à un projet de jeu x64 existant, procédez comme suit :- Utilisez Visual Studio 2022. La prise en charge d’ARM64 nécessite Visual Studio 2022. Visual Studio 2019 n’est pas pris en charge pour les builds ARM64.
- Activez la nouvelle disposition. Assurez-vous que votre projet utilise la nouvelle disposition en définissant
GDKCrossPlatformsurtruedans votre fichier projet. - Créez des configurations ARM64. Copiez vos configurations x64 existantes (comme Debug et Release) pour créer les configurations ARM64 correspondantes.
- Mettez à jour les chemins des bibliothèques. Modifiez les répertoires VC++ de vos configurations ARM64 afin que le chemin des bibliothèques référence
lib\arm64au lieu delib\x64. - Mettez à jour les références à la bibliothèque XSAPI. Mettez à jour les instructions d’édition de liens pour toutes les configurations (pas seulement ARM64) afin d’utiliser
Microsoft.Xbox.Services.143.GDK.C.libau lieu deMicrosoft.Xbox.Services.142.GDK.C.lib. - Mettez à jour ReferenceCopyLocalPaths. Recherchez dans votre fichier
.vcxprojles utilisations deReferenceCopyLocalPathsqui pourraient devoir être mises à jour pour référencer le dossier binarm64au lieu dex64.
Si le démarrage de votre titre échoue avec l’erreur 0xc000007b, cela signifie que vous avez accidentellement tenté de charger une DLL au format x64 dans votre processus ARM64. Recherchez dans votre système de projet les éléments
ReferenceCopyLocalPaths qui pourraient devoir être mis à jour.Utilisation de la nouvelle disposition avec la plateforme MSBuild x64
Au lieu d’utiliser la plateforme Gaming.Desktop.x64, vous pouvez utiliser la plateforme x64 standard pour générer pour PC. Dans l’ancienne disposition, cela nécessitait d’ajouter des instructions<Import Project="...\ExtensionLibrary.props"> pour les bibliothèques d’extension, comme décrit dans Utilisation de la plateforme x64 avec le Microsoft Game Development Kit (GDK).
Dans la nouvelle disposition, les instructions d’intégration sont simplifiées.
Utilisation de la nouvelle disposition avec CMake
Lorsque vous utilisez les générateurs Microsoft Visual Studio avec CMake et les plateformes MSBuild personnalisées Gaming.*.x64, activez la nouvelle disposition à l’aide du code suivant.VS_GLOBAL_GDKExtLibNames et remplacez-la par le code suivant (avec CMake 3.21 ou version ultérieure) pour copier les DLL d’extension utilisées dans la disposition.
Utilisation de la nouvelle disposition avec des systèmes de build personnalisés
La génération pour Windows x64 avec le GDK nécessite les éléments suivants.Lecture de l’édition de build à partir d’un fichier installé
La nouvelle disposition ne contient pas le fichiergrdk.ini. Pour obtenir les informations d’édition en analysant un fichier, utilisez grdk.h.
Voici un exemple en PowerShell qui fonctionne également avec les versions antérieures du GDK.
