Passer au contenu principal
Dans les versions actuelles du Microsoft Game Development Kit (GDK), la disposition était optimisée autour du partage de code et axée sur des plateformes précises. L’intégration de build pour cette disposition reposait fortement sur la dissimulation de la complexité dans des plateformes MSBuild personnalisées. Pour la nouvelle disposition, l’accent est mis sur la simplification de l’intégration, la prise en charge d’une liste croissante de plateformes cibles et l’amélioration de la prise en charge des plateformes MSBuild standard et des systèmes de build autres que Microsoft.

Ancienne disposition des en-têtes et des bibliothèques

La disposition de fichiers existante du Microsoft GDK se résume comme suit.
Les plateformes MSBuild personnalisées Gaming.Desktop.x64 mettent en œuvre la logique de construction des chemins include/lib qui combinent tout ce contenu de diverses façons. Si vous utilisiez CMake ou une solution make personnalisée, cette logique devait également y être mise en œuvre. Pour un exemple détaillé, consultez la version d’avril 2025 de CMakeExample. L’ancienne disposition est toujours présente dans le GDK d’octobre 2025 afin de prendre en charge les deux styles, ancien et nouveau. Les deux dispositions sont installées par défaut. L’installation du GDK comprend maintenant une option permettant d’installer uniquement la nouvelle disposition. Un futur GDK supprimera l’ancienne disposition afin de réduire l’espace occupé sur le disque dur et la taille globale du téléchargement. La date cible actuelle pour la suppression de l’ancienne disposition est d’un an après la sortie du GDK d’octobre 2025.

Nouvelle disposition des en-têtes et des bibliothèques

Pour la version d’octobre 2025 du GDK, la nouvelle disposition offre une solution de rechange pour les en-têtes et les bibliothèques qui facilite l’intégration des plateformes 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.
Cela ajoute au projet les chemins include/lib appropriés au lieu des divers chemins complexes qu’utilisait l’ancienne disposition. Dans cette nouvelle intégration simplifiée, le mécanisme des bibliothèques d’extension n’est plus utilisé. Tout le contenu est disponible par défaut au moment de la build dans les chemins include/lib. Le projet doit ensuite effectuer l’édition de liens avec les bibliothèques supplémentaires qu’il utilise. Les projets créés à partir des anciens modèles de projet du GDK devraient contenir des instructions comme celles-ci.
Pour la nouvelle disposition, la propriété Console_Libs énumère les bibliothèques de base requises. Le projet doit ajouter à AdditionalDependencies les bibliothèques d’extension qu’il consomme, car chacune d’elles est « sur adhésion ». 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ées, 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 énumère toutes les DLL possibles, mais chaque projet n’aura besoin que de certaines d’entre elles.
GameDKLatest est défini uniquement par le Microsoft GDK avec XBOX Extensions. Par conséquent, 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 ou 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 à 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.

Comment mettre à jour un jeu x64 pour ajouter ARM64

Pour ajouter la prise en charge d’ARM64 à un projet de jeu x64 existant, procédez comme suit :
  1. 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.
  2. Activez la nouvelle disposition. Assurez-vous que votre projet utilise la nouvelle disposition en définissant GDKCrossPlatform à true dans votre fichier de projet.
  3. Créez des configurations ARM64. Copiez vos configurations x64 existantes (comme Debug et Release) pour créer les configurations ARM64 correspondantes.
  4. Mettez à jour les chemins des bibliothèques. Modifiez les répertoires VC++ de vos configurations ARM64 afin que le chemin des bibliothèques fasse référence à lib\arm64 au lieu de lib\x64.
  5. Mettez à jour les références aux bibliothèques 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.lib au lieu de Microsoft.Xbox.Services.142.GDK.C.lib.
  6. Mettez à jour ReferenceCopyLocalPaths. Vérifiez l’utilisation de ReferenceCopyLocalPaths dans votre fichier .vcxproj qui pourrait devoir être mise à jour pour faire référence au dossier bin arm64 au lieu de x64.
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. Vérifiez si votre système de projet contient des é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 effectuer une build pour PC. Dans l’ancienne disposition, il fallait 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.
Ajoutez toutes les bibliothèques d’extension requises à AdditionalDependencies, en plus de la liste d’origine.
Les DLL des bibliothèques d’extension sur adhésion doivent être copiées dans le répertoire binaire comme ci-dessus, au moyen d’une action de build personnalisée ou du groupe d’éléments ReferenceCopyLocalPaths pour la disposition finale. Les autres instructions concernant PreprocessorDefinitions et la gestion du fichier .mgc avec les ressources d’image demeurent inchangé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.
Dans CMakeGDKExample, supprimez l’utilisation de VS_GLOBAL_GDKExtLibNames et remplacez-la par le code suivant (en supposant CMake 3.21 ou une 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

Une build pour Windows x64 avec le GDK nécessite ce qui suit.

Lecture de l’édition de build à partir d’un fichier installé

La nouvelle disposition ne contient pas le fichier grdk.ini. Pour trouver les informations d’édition en analysant un fichier, utilisez grdk.h. Voici un exemple en PowerShell qui fonctionne également avec les anciennes versions du GDK.
Dernière modification le 6 octobre 2026