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.
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.
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.
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 GameDKLatest
apuntan las variables de entorno , GameGXDKLatest
y 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.
Si compila para UWP en Xbox, usa el triplete existente x64-uwp
en su lugar.
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.
Para más información, consulte esta entrada de blog.
Consulte también el ejemplo de CMakeExample en GitHub.
Comentarios de vcpkg
vcpkg es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: