Xbox
Nota
Xbox non viene testato come parte del processo di integrazione continua del repository vcpkg, quindi le regressioni possono verificarsi come parte degli aggiornamenti della libreria.
vcpkg include tripli della community per lo sviluppo di PC e Xbox Microsoft GDK. Usano il set di strumenti del compilatore MSVC (Visual Studio 2019 versione 16.11 o successiva).
Esistono due varianti per ogni tripletta: collegamento statico e dinamico.
Console | tripli della community di vcpkg |
---|---|
Xbox One | x64-xbox-xboxone |
x64-xbox-xboxone-static | |
Xbox Series X|S | x64-xbox-scarlett |
x64-xbox-scarlett-static |
I static
tripletti di collegamento sono impostati per usare il runtime MSVC come DLL (ad esempio VCPKG_CRT_LINKAGE dynamic
) come scenario di utilizzo consigliato e supportato.
Windows SDK (19041) o versioni successive include le intestazioni di sistema necessarie per la compilazione sulla WINAPI_FAMILY_GAMES
partizione API usata dal sistema operativo xbox Game. Pertanto, la maggior parte delle librerie può essere compilata su questi tripletti senza avere accesso a NDA Microsoft GDK con le estensioni Xbox.
Le librerie che usano le API grafiche DirectX devono essere compilate usando una variante personalizzata di Direct3D 12.X usata dal sistema operativo del gioco Xbox e questo richiede l'accesso a NDA Microsoft GDK con le estensioni Xbox. Tieni presente che il sistema operativo del gioco Xbox non supporta Direct3D 11, Direct2D/DirectWrite, OpenGL, GDI o qualsiasi versione precedente di Direct3D.
Le librerie che richiedono queste intestazioni devono usare la ms-gdkx
porta "stub" per indicare questo requisito. Questa porta cerca i percorsi a GameDKLatest
cui puntano le variabili di ambiente , GameGXDKLatest
e GameGRDKLatest
.
Nota
Gli sviluppatori di giochi Xbox sono responsabili di garantire che essi e i loro editori abbiano condizioni di licenza appropriate e corrette per l'uso di qualsiasi componente software di terze parti in base alle condizioni del contratto di licenza del titolo. Assicurarsi di cercare consigli legali appropriati per qualsiasi uso di componenti open source nel titolo.
Se si compila per la piattaforma UWP in Xbox, usare invece il triplo esistente x64-uwp
.
I progetti CMake per questi tripletti vengono compilati usando CMAKE_SYSTEM_NAME
impostato su "Windows". Per indicare che la console Xbox è destinata, la XBOX_CONSOLE_TARGET
variabile è impostata su "xboxone
" o "scarlett
".
Xbox triplica la compilazione con /DWINAPI_FAMILY=WINAPI_FAMILY_GAMES
e /arch:AVX
o /arch:AVX2
a seconda della console di destinazione.
Anche i tripletti Xbox vengono compilati con /DUNICODE /D_UNICODE
perché sono entrambi fortemente consigliati per lo sviluppo moderno. Per altre informazioni, vedere il manifesto UTF-8 Everywhere.
Per le librerie dinamiche, assicurarsi di evitare l'esecuzione del collegamento a KERNEL32.LIB
o ONECORE.LIB
. Per la piattaforma Xbox, viene invece usata una libreria generica della piattaforma che è in conflitto con kernel32
e così via. Vedere Microsoft Learn.
Per ulteriori informazioni, vedi questo post di blog.
Vedere anche l'esempio CMakeExample su GitHub.
Feedback su vcpkg
vcpkg è un progetto di open source. Selezionare un collegamento per fornire feedback: