Xbox
Poznámka
Xbox není testován jako součást procesu kontinuální integrace úložiště vcpkg, takže regrese můžou nastat jako součást aktualizací knihovny.
Vcpkg zahrnuje komunitní triplety pro vývoj počítačů Microsoft GDK a Xbox . Používají sadu nástrojů kompilátoru MSVC (Visual Studio 2019 verze 16.11 nebo novější).
Pro každý triplet existují dvě varianty: statické a dynamické propojení.
Konzola | vcpkg community triplets |
---|---|
Xbox One | x64-xbox-xboxone |
x64-xbox-xboxone-static | |
Xbox Series X|S | x64-xbox-scarlett |
x64-xbox-scarlett-static |
Propojování static
tripletů je nastavené tak, aby používalo modul runtime MSVC jako knihovnu DLL (tj. VCPKG_CRT_LINKAGE dynamic
) jako doporučený a podporovaný scénář použití.
Sada Windows SDK (19041) nebo novější obsahuje systémové hlavičky potřebné k sestavení na WINAPI_FAMILY_GAMES
oddílu rozhraní API používaném operačním systémem Xbox Game. Proto lze většinu knihoven vytvořit na těchto trojité sadě bez přístupu k NDA Microsoft GDK s rozšířeními xboxu.
Knihovny, které využívají rozhraní API grafiky DirectX, musí být sestaveny pomocí vlastní varianty Direct3D 12.X používané herním operačním systémem Xbox a to vyžaduje přístup k NDA Microsoft GDK s rozšířeními xboxu. Všimněte si, že herní operační systém Xbox nepodporuje Direct3D 11, Direct2D/DirectWrite, OpenGL, GDI ani žádnou starší verzi Direct3D.
Knihovny, které vyžadují tyto hlavičky, musí k označení tohoto požadavku použít ms-gdkx
port "zástupných procedur". Tento port hledá cesty, na které GameDKLatest
odkazuje , GameGXDKLatest
a GameGRDKLatest
proměnné prostředí.
Poznámka
Vývojáři her pro Xbox zodpovídají za zajištění toho, aby měli odpovídající a správné licenční podmínky pro použití softwarových komponent třetích stran podle podmínek licenční smlouvy s nadpisem. Nezapomeňte vyhledat vhodné právní poradenství pro jakékoli použití opensourcových komponent ve vašem názvu.
Pokud vytváříte upW na Xboxu, použijte místo toho stávající x64-uwp
trojku.
Projekty CMake pro tyto triplety se sestavují pomocí CMAKE_SYSTEM_NAME
nastavení na "Windows". Pokud chcete označit cílovou konzolu Xbox, XBOX_CONSOLE_TARGET
proměnná je nastavená na "xboxone
" nebo "scarlett
".
Trojité sady Xbox se vytvářejí buď s /DWINAPI_FAMILY=WINAPI_FAMILY_GAMES
/arch:AVX
cílovou konzolou, nebo /arch:AVX2
v závislosti na cílové konzole.
Trojité sady Xbox jsou také postavené na /DUNICODE /D_UNICODE
tom, jak se důrazně doporučují pro moderní vývoj. Další informace najdete v manifestu UTF-8 Všude.
U dynamických knihoven nezapomeňte vyhnout se vytváření duplicitních odkazů nebo KERNEL32.LIB
ONECORE.LIB
. Pro platformu Xbox se místo toho používá zastřešující knihovna platformy, která je v konfliktu s kernel32
atd. Viz Microsoft Learn.
Další informace najdete v tomto blogovém příspěvku.
Viz také ukázku CMakeExample na GitHubu.
Zpětná vazba k produktu vcpkg
vcpkg je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby: