Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 GameDKLatest
zmienne środowiskowe , GameGXDKLatest
i 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ą kernel32
itp. Zobacz Microsoft Learn.
Dalsze informacje
Aby uzyskać więcej informacji, zobacz ten wpis w blogu.
Zobacz również przykład CMakeExample w witrynie GitHub.