Auf Englisch lesen

Freigeben über


Xbox

Hinweis

Xbox wird im Rahmen des kontinuierlichen Integrationsprozesses des vcpkg-Repositorys nicht getestet, sodass Regressionen als Teil von Bibliotheksupdates auftreten können.

Xbox Community-Triplets

vcpkg enthält Community-Triplets für microsoft GDK PC- und Xbox-Entwicklung . Sie verwenden das MSVC-Compilertoolset (Visual Studio 2019, Version 16.11 oder höher).

Es gibt zwei Varianten für jedes Triplet: statische und dynamische Verknüpfung.

Konsole vcpkg Community-Triplets
Xbox One x64-xbox-xboxone
x64-xbox-xboxone-static
Xbox Series X|S x64-xbox-scarlett
x64-xbox-scarlett-static

Die static Verlinkungs-Triplets werden so festgelegt, dass die MSVC-Runtime als DLL (d. h. VCPKG_CRT_LINKAGE dynamicals empfohlenes und unterstütztes Verwendungsszenario) verwendet wird.

Erstellen mit dem Windows SDK

Das Windows SDK (19041) oder höher enthält die Systemheader, die zum Erstellen für die WINAPI_FAMILY_GAMES API-Partition erforderlich sind, die vom Xbox Game OS verwendet wird. Daher können die meisten Bibliotheken mit diesen Triplets erstellt werden, ohne Zugriff auf die NDA Microsoft GDK mit Xbox-Erweiterungen zu haben.

Erstellen mit microsoft GDK mit Xbox-Erweiterungen

Bibliotheken, die DirectX-Grafik-APIs verwenden, müssen mit einer benutzerdefinierten Variante von Direct3D 12.X erstellt werden, die vom Xbox Game OS verwendet wird, und dies erfordert Zugriff auf die NDA Microsoft GDK mit Xbox-Erweiterungen. Beachten Sie, dass das Xbox Game OS Direct3D 11, Direct2D/DirectWrite, OpenGL, GDI oder eine ältere Version von Direct3D nicht unterstützt.

Bibliotheken, die diese Header erfordern, müssen den ms-gdkx "Stub"-Port verwenden, um diese Anforderung anzugeben. Dieser Port sucht nach Pfaden, auf die durch GameDKLatest, GameGXDKLatestund GameGRDKLatest Umgebungsvariablen verwiesen wird.

Hinweis

Xbox-Spieleentwickler sind dafür verantwortlich, sicherzustellen, dass sie und ihre Herausgeber über geeignete und korrekte Lizenzbedingungen für die Verwendung von Drittanbieter-Softwarekomponenten gemäß den Bedingungen ihres Lizenzvertrags verfügen. Achten Sie darauf, für jede Verwendung von Open-Source-Komponenten in Ihrem Titel geeignete Rechtsberatung zu suchen.

UWP auf Xbox

Wenn Sie für UWP auf Xbox erstellen, verwenden Sie stattdessen das vorhandene x64-uwp Triplet.

Betreuernotizen

CMake-Projekte für diese Triplets werden mithilfe CMAKE_SYSTEM_NAME von "Windows" erstellt. Um anzugeben, dass die Xbox-Konsole gezielt ist, wird die XBOX_CONSOLE_TARGET Variable auf "xboxone" oder "scarlett" festgelegt.

Xbox-Triplets erstellen mit /DWINAPI_FAMILY=WINAPI_FAMILY_GAMES und entweder /arch:AVX oder /arch:AVX2 abhängig von der Zielkonsole.

Die Xbox-Triplets bauen ebenfalls auf /DUNICODE /D_UNICODE , da beide für die moderne Entwicklung dringend empfohlen werden. Weitere Informationen finden Sie im UTF-8 Everywhere-Manifest.

Achten Sie bei dynamischen Bibliotheken darauf, explict-Verknüpfungen mit KERNEL32.LIB oder ONECORE.LIBzu vermeiden. Für die Xbox-Plattform wird stattdessen eine Plattformschirmbibliothek verwendet, die konfliktet mit kernel32usw. Siehe Microsoft Learn.

Weitere Informationen

Weitere Informationen finden Sie in diesem Blogbeitrag.

Siehe auch das CMakeExample-Beispiel auf GitHub.