Leggere in inglese

Condividi tramite


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.

Triplette della community xbox

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.

Compilazione con Windows SDK

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.

Compilazione con 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 GameDKLatestcui puntano le variabili di ambiente , GameGXDKLateste 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.

UWP in Xbox

Se si compila per la piattaforma UWP in Xbox, usare invece il triplo esistente x64-uwp .

Note del manutentore

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 kernel32e così via. Vedere Microsoft Learn.

Altre risorse

Per ulteriori informazioni, vedi questo post di blog.

Vedere anche l'esempio CMakeExample su GitHub.