Udostępnij za pośrednictwem


Xbox

Uwaga

Konsola Xbox nie jest testowana w ramach ciągłego procesu integracji repozytorium vcpkg, więc regresje mogą wystąpić w ramach aktualizacji biblioteki.

Trojaczki społeczności Xbox

Program vcpkg obejmuje trojaczki społeczności na potrzeby opracowywania aplikacji Microsoft GDK PC i Xbox . Korzystają z zestawu narzędzi kompilatora MSVC (Visual Studio 2019 w wersji 16.11 lub nowszej).

Istnieją dwa warianty dla każdej trójki: statyczne i dynamiczne łączenie.

Konsola trojaczki społeczności vcpkg
Xbox One x64-xbox-xboxone
x64-xbox-xboxone-static
Xbox Series X|S x64-xbox-scarlett
x64-xbox-scarlett-static

Trzykropki static łączenia są ustawione tak, aby używać środowiska uruchomieniowego MSVC jako biblioteki DLL (tj. VCPKG_CRT_LINKAGE dynamic), ponieważ jest to zalecany i obsługiwany scenariusz użycia.

Kompilowanie przy użyciu zestawu Windows SDK

Zestaw Windows SDK (19041) lub nowszy zawiera nagłówki systemowe wymagane do skompilowania partycji interfejsu WINAPI_FAMILY_GAMES API używanej przez system operacyjny Xbox Game. W związku z tym większość bibliotek można skompilować na tych trojakach bez dostępu do zestawu NDA Microsoft GDK z rozszerzeniami Xbox.

Kompilowanie za pomocą zestawu Microsoft GDK z rozszerzeniami Xbox

Biblioteki korzystające z interfejsów API grafiki DirectX muszą być tworzone przy użyciu niestandardowego wariantu Direct3D 12.X używanego przez system operacyjny Xbox Game, a to wymaga dostępu do zestawu NDA Microsoft GDK z rozszerzeniami Xbox. Należy pamiętać, że system operacyjny Gry Xbox nie obsługuje direct3D 11, Direct2D/DirectWrite, OpenGL, GDI ani żadnej starszej wersji Direct3D.

Biblioteki, które wymagają tych nagłówków, muszą używać portu wycinkowego ms-gdkx , aby wskazać to wymaganie. Ten port szuka ścieżek wskazywanych przez GameDKLatestzmienne środowiskowe , GameGXDKLatesti GameGRDKLatest .

Uwaga

Deweloperzy gier Xbox są odpowiedzialni za zapewnienie, że i ich wydawcy mają odpowiednie i poprawne postanowienia licencyjne dotyczące używania dowolnych składników oprogramowania innych firm zgodnie z warunkami umowy licencyjnej tytułu. Pamiętaj, aby uzyskać odpowiednie porady prawne dotyczące wszelkich zastosowań składników open source w tytule.

Platforma UWP na konsoli Xbox

W przypadku kompilowania dla platformy UWP na konsoli Xbox należy zamiast tego użyć istniejącej x64-uwp trójki.

Uwagi dotyczące osoby odpowiedzialnej za obsługę

Projekty CMake dla tych trojaków są tworzone przy użyciu CMAKE_SYSTEM_NAME zestawu "Windows". Aby wskazać docelową konsolę Xbox, zmienna XBOX_CONSOLE_TARGET jest ustawiona na "xboxone" lub "scarlett".

Konsola Xbox tryplety są kompilować z konsolą docelową /DWINAPI_FAMILY=WINAPI_FAMILY_GAMES i /arch:AVX albo /arch:AVX2 w zależności od konsoli docelowej.

Tryplety Xbox są również tworzone z /DUNICODE /D_UNICODE , ponieważ są one zdecydowanie zalecane do nowoczesnego programowania. Aby uzyskać więcej informacji, zobacz manifest UTF-8 Everywhere.

W przypadku bibliotek dynamicznych należy unikać eksplotowania łączenia z bibliotekami KERNEL32.LIB lub ONECORE.LIB. W przypadku platformy Xbox używana jest biblioteka parasolowa platformy, która powoduje konflikt z usługą kernel32itp. Zobacz Microsoft Learn.

Dalsze informacje

Aby uzyskać więcej informacji, zobacz ten wpis w blogu.

Zobacz również przykład CMakeExample w witrynie GitHub.