Leer en inglés

Compartir a través de


Xbox

Nota

Xbox no se prueba como parte del proceso de integración continua del repositorio vcpkg, por lo que las regresiones pueden producirse como parte de las actualizaciones de biblioteca.

Tripletos de la comunidad de Xbox

vcpkg incluye tripletas de la comunidad para el desarrollo de Pc y Xbox de Microsoft GDK. Usan el conjunto de herramientas del compilador de MSVC (Visual Studio 2019, versión 16.11 o posterior).

Hay dos variantes para cada triplet: vinculación estática y dinámica.

Consola Tripletos de la comunidad de vcpkg
Xbox One x64-xbox-xboxone
x64-xbox-xboxone-static
Serie Xbox X|S x64-xbox-scarlett
x64-xbox-scarlett-static

Los static tripletes de vinculación se establecen para usar el entorno de ejecución de MSVC como un archivo DLL (es decir, VCPKG_CRT_LINKAGE dynamic) como el escenario de uso recomendado y admitido.

Compilación con Windows SDK

Windows SDK (19041) o posterior incluye los encabezados del sistema necesarios para compilar en la WINAPI_FAMILY_GAMES partición de API usada por el sistema operativo Xbox Game. Por lo tanto, la mayoría de las bibliotecas se pueden compilar en estos tripletos sin tener acceso al GDK de Microsoft NDA con extensiones de Xbox.

Creación con Microsoft GDK con extensiones de Xbox

Las bibliotecas que usan las API de gráficos de DirectX deben compilarse con una variante personalizada de Direct3D 12.X usada por el sistema operativo Xbox Game, y esto requiere acceso al GDK de Microsoft NDA con extensiones de Xbox. Ten en cuenta que el sistema operativo xbox game no es compatible con Direct3D 11, Direct2D/DirectWrite, OpenGL, GDI o cualquier versión anterior de Direct3D.

Las bibliotecas que requieren estos encabezados deben usar el ms-gdkx puerto "código auxiliar" para indicar este requisito. Este puerto busca rutas de acceso a las que GameDKLatestapuntan las variables de entorno , GameGXDKLatesty GameGRDKLatest .

Nota

Los desarrolladores de juegos de Xbox son responsables de asegurarse de que y sus editores tienen los términos de licencia adecuados y correctos para el uso de cualquier componente de software de terceros según los términos de su Contrato de licencia de título. Asegúrese de buscar consejos legales adecuados para cualquier uso de componentes de código abierto en su título.

UWP en Xbox

Si compila para UWP en Xbox, usa el triplete existente x64-uwp en su lugar.

Notas del mantenedor

Los proyectos de CMake para estos tripletos se compilan con CMAKE_SYSTEM_NAME establecido en "Windows". Para indicar que la consola Xbox está dirigida, la XBOX_CONSOLE_TARGET variable se establece en "xboxone" o "scarlett".

Los tripletes de Xbox se compilan con /DWINAPI_FAMILY=WINAPI_FAMILY_GAMES o /arch:AVX/arch:AVX2 dependiendo de la consola de destino.

Los tripletes de Xbox también se compilan con /DUNICODE /D_UNICODE , ya que se recomiendan encarecidamente para el desarrollo moderno. Consulte el manifiesto UTF-8 Everywhere para obtener más información.

En el caso de las bibliotecas dinámicas, asegúrese de evitar la vinculación explict a KERNEL32.LIB o ONECORE.LIB. Para la plataforma Xbox, se usa una biblioteca paraguas de plataforma en su lugar que entra en conflicto con kernel32, etc. Consulte Microsoft Learn.

Información adicional

Para más información, consulte esta entrada de blog.

Consulte también el ejemplo de CMakeExample en GitHub.