Lire en anglais

Partager via


Xbox

Notes

Xbox n’est pas testée dans le cadre du processus d’intégration continue du référentiel vcpkg, de sorte que les régressions peuvent se produire dans le cadre des mises à jour de bibliothèque.

Triplets de la communauté Xbox

vcpkg inclut des triplets de communauté pour le pc GDK Microsoft et le développement Xbox . Ils utilisent l’ensemble d’outils du compilateur MSVC (Visual Studio 2019 version 16.11 ou ultérieure).

Il existe deux variantes pour chaque triplet : liaison statique et dynamique.

Console triplets de la communauté vcpkg
Xbox One x64-xbox-xboxone
x64-xbox-xboxone-static
Xbox Series X|S x64-xbox-scarlett
x64-xbox-scarlett-static

Les static triplets de liaison sont définis pour utiliser le runtime MSVC en tant que DLL (c’est-à-dire VCPKG_CRT_LINKAGE dynamic) comme scénario d’utilisation recommandé et pris en charge.

Génération avec le Kit de développement logiciel (SDK) Windows

Le Kit de développement logiciel (SDK) Windows (19041) ou version ultérieure inclut les en-têtes système nécessaires à la génération sur la WINAPI_FAMILY_GAMES partition d’API utilisée par le système d’exploitation Xbox Game. Par conséquent, la plupart des bibliothèques peuvent être créées sur ces triplets sans avoir accès à NDA Microsoft GDK avec Xbox Extensions.

Création avec Microsoft GDK avec les extensions Xbox

Les bibliothèques qui utilisent des API graphiques DirectX doivent être créées à l’aide d’une variante personnalisée de Direct3D 12.X utilisée par le système d’exploitation Xbox Game, ce qui nécessite l’accès à NDA Microsoft GDK avec les extensions Xbox. Notez que le système d’exploitation Xbox Game ne prend pas en charge Direct3D 11, Direct2D/DirectWrite, OpenGL, GDI ou toute version antérieure de Direct3D.

Les bibliothèques qui nécessitent ces en-têtes doivent utiliser le ms-gdkx port « stub » pour indiquer cette exigence. Ce port recherche les chemins d’accès pointés par GameDKLatest, GameGXDKLatestet GameGRDKLatest les variables d’environnement.

Notes

Les développeurs de jeux Xbox sont chargés de s’assurer qu’ils et leurs éditeurs disposent de conditions de licence appropriées et correctes pour l’utilisation de tous les composants logiciels tiers conformément aux termes de leur contrat de licence de titre. Veillez à obtenir des conseils juridiques appropriés pour toute utilisation de composants open source dans votre titre.

UWP sur Xbox

Si vous créez pour UWP sur Xbox, utilisez plutôt le triplet existant x64-uwp .

Notes de maintenance

Les projets CMake pour ces triplets sont générés à l’aide de CMAKE_SYSTEM_NAME la valeur « Windows ». Pour indiquer que la console Xbox cible, la XBOX_CONSOLE_TARGET variable est définie sur «xboxone » ou «scarlett ».

Les triplets Xbox sont générés avec /DWINAPI_FAMILY=WINAPI_FAMILY_GAMES la console cible ou /arch:AVX/arch:AVX2 selon la console cible.

Les triplets Xbox sont également générés avec /DUNICODE /D_UNICODE , car ils sont fortement recommandés pour le développement moderne. Consultez le manifeste UTF-8 Partout pour plus d’informations.

Pour les bibliothèques dynamiques, veillez à éviter la liaison explicite vers KERNEL32.LIB ou ONECORE.LIB. Pour la plateforme Xbox, une bibliothèque de parapluies de plateforme est utilisée à la place qui est en conflit avec kernel32, etc. Consultez Microsoft Learn.

Pour aller plus loin

Pour plus d’informations, consultez ce billet de blog.

Consultez également l’exemple CMakeExample sur GitHub.