Passer au contenu principal
La structure de répertoires décrite dans cet article est la disposition simplifiée (multiplateforme) introduite avec le GDK d’octobre 2025.À partir du GDK d’octobre 2026, la disposition simplifiée est installée par défaut. L’ancienne disposition reste disponible en tant que chemin de compatibilité facultatif et déprécié pour les équipes qui ont besoin de plus de temps pour migrer.L’ancienne disposition ne sera plus prise en charge et sera supprimée du programme d’installation à partir de la version d’avril 2027 du GDK.
Dans les versions actuelles du Microsoft Game Development Kit (GDK), la disposition était optimisée pour le partage de code et axée sur des plateformes spécifiques. L’intégration de build pour cette disposition reposait largement 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 comme des systèmes de build non Microsoft.

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

La disposition de fichiers existante du Microsoft GDK est résumée ci-dessous.
Les plateformes MSBuild personnalisées Gaming.Desktop.x64, Gaming.Xbox.Scarlett.x64 et Gaming.Xbox.XboxOne.x64 implémentent toute la logique de construction des chemins include/lib qui combinent tout ce contenu de diverses manières. Si vous utilisiez CMake ou une solution make personnalisée, cette logique devait également y être implémentée. Pour un exemple détaillé, consultez la version d’avril 2025 de CMakeExample. Les versions d’octobre 2025 et d’avril 2026 du GDK incluent à la fois la disposition simplifiée et l’ancienne disposition. À partir du GDK d’octobre 2026, le programme d’installation installe uniquement la disposition simplifiée par défaut. L’ancienne disposition peut toujours être sélectionnée en tant qu’installation facultative, mais elle est dépréciée et n’est plus le chemin de développement recommandé. L’ancienne disposition ne sera plus prise en charge et sera supprimée du programme d’installation à partir de la version d’avril 2027 du GDK.

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

Pour la version d’octobre 2025 du GDK, une disposition alternative des en-têtes et bibliothèques est désormais proposée. Elle facilite grandement 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.
Cela ajoute au projet les chemins include/lib appropriés au lieu des divers chemins complexes utilisés par 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 GDK doivent contenir des instructions comme celle-ci.
Pour la nouvelle disposition, la propriété Console_Libs répertorie les bibliothèques principales requises. 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. GameDKXboxLatest est défini par le Microsoft GDK avec XBOX Extensions.

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.

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.
Ajoutez toutes les bibliothèques d’extension requises à AdditionalDependencies, en plus de la liste d’origine.
Les DLL des bibliothèques d’extension facultatives doivent être copiées dans le répertoire des binaires comme indiqué ci-dessus, à l’aide d’une action de build personnalisée ou du groupe d’éléments ReferenceCopyLocalPaths pour la disposition finale. Les autres instructions relatives à PreprocessorDefinitions et à la gestion du fichier .mgc avec les ressources d’images restent 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 (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 à l’aide du GDK nécessite ce qui suit.
La génération pour XBOX Series X|S (également appelée Gaming.Xbox.Scarlett.x64) nécessite :
La génération pour XBOX One (également appelée Gaming.Xbox.XboxOne.x64) nécessite :

Utilisation de la nouvelle disposition pour les outils de contenu PC

Pour le développement sur console, certains types de préparation (« cooking ») du contenu s’effectuent sur le PC de développement à l’aide des API XTF, de la bibliothèque d’encodage XMA2 et/ou d’outils Direct3D 12.X personnalisés. L’accès à ce contenu nécessite une configuration de build spécifique : La génération d’outils PC ciblant à la fois XBOX One et XBOX Series X|S nécessite :
La génération d’outils PC ciblant les graphismes XBOX Series X|S nécessite :
La génération d’outils PC ciblant les graphismes XBOX One nécessite :

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

La nouvelle disposition ne contient pas les fichiers grdk.ini ou gxdk.ini. Pour obtenir les informations d’édition en analysant un fichier, utilisez grdk.h ou gxdk.h. Voici un exemple PowerShell qui fonctionne également avec les versions antérieures du GDK.

Génération sans installation (BWOI)

Les fichiers de plateforme de build MSBuild personnalisée, qui se trouvaient à l’origine sous <edition>\flatDeployment dans l’ancienne disposition, se trouvent désormais sous <edition>\xbox\build avec des chemins raccourcis. Par exemple, pour configurer un dossier de règles MSBuild BWOI pour VS 2022, utilisez les commandes suivantes.
Ensuite, dans le fichier Directory.Build.props utilisé pour BWOI, définissez les propriétés pour qu’elles pointent vers ce dossier combiné.
Dernière modification le 6 novembre 2026