Ler em inglês

Compartilhar via


Xbox

Observação

O Xbox não é testado como parte do processo de integração contínua do repositório vcpkg, portanto, regressões podem ocorrer como parte das atualizações da biblioteca.

Trigêmeos da comunidade Xbox

vcpkg inclui trigêmeos da comunidade para desenvolvimento Microsoft GDK PC e Xbox . Eles usam o conjunto de ferramentas do compilador MSVC (Visual Studio 2019 versão 16.11 ou posterior).

Existem duas variantes para cada trigêmeo: ligação estática e dinâmica.

Console Trigêmeos da Comunidade VCPKG
Xbox One x64-xbox-xboxone
x64-xbox-xboxone-estático
Xbox Série X|S x64-xbox-scarlett
x64-xbox-scarlett-estático

Os static trigêmeos vinculados são definidos para usar o MSVC Runtime como uma DLL (ou seja, VCPKG_CRT_LINKAGE dynamic), pois esse é o cenário de uso recomendado e com suporte.

Criando com o SDK do Windows

O SDK do Windows (19041) ou posterior inclui os cabeçalhos do sistema necessários para criar na partição de WINAPI_FAMILY_GAMES API usada pelo sistema operacional Xbox Game. Portanto, a maioria das bibliotecas pode ser construída contra esses trigêmeos sem ter acesso ao NDA Microsoft GDK com extensões Xbox.

Criando com o Microsoft GDK com extensões do Xbox

As bibliotecas que usam APIs de gráficos DirectX devem ser criadas usando uma variante personalizada do Direct3D 12.X usada pelo Xbox Game OS, e isso requer acesso ao NDA Microsoft GDK com Extensões Xbox. Observe que o Xbox Game OS não oferece suporte a Direct3D 11, Direct2D/DirectWrite, OpenGL, GDI ou qualquer versão mais antiga do Direct3D.

As bibliotecas que exigem esses cabeçalhos devem usar a ms-gdkx porta "stub" para indicar esse requisito. Essa porta procura caminhos apontados por GameDKLatest, GameGXDKLateste GameGRDKLatest variáveis de ambiente.

Observação

Os desenvolvedores de jogos do Xbox são responsáveis por garantir que eles e seus editores tenham termos de licenciamento apropriados e corretos para uso de quaisquer componentes de software de terceiros de acordo com os termos de seu Contrato de Licença de Título. Certifique-se de procurar aconselhamento jurídico apropriado para qualquer uso de componentes de código aberto em seu título.

UWP no Xbox

Se estiver criando para UWP no Xbox, use o triplete existente x64-uwp .

Notas do mantenedor

Os projetos CMake para esses trigêmeos são construídos usando CMAKE_SYSTEM_NAME o conjunto "Windows". Para indicar o console Xbox que está sendo direcionado, a XBOX_CONSOLE_TARGET variável é definida como "" ou "scarlettxboxone".

Os trigêmeos Xbox são criados com e com /DWINAPI_FAMILY=WINAPI_FAMILY_GAMES/arch:AVX/arch:AVX2 e dependendo do console de destino.

Os trigêmeos do Xbox também são altamente /DUNICODE /D_UNICODE recomendados para o desenvolvimento moderno. Consulte o manifesto UTF-8 Everywhere para obter mais informações.

Para bibliotecas dinâmicas, certifique-se de evitar links explícitos para KERNEL32.LIB ou ONECORE.LIB. Para a plataforma Xbox, uma biblioteca guarda-chuva de plataforma é usada em vez disso, o que entra em conflito com kernel32, etc. Consulte Microsoft Learn.

Leitura adicional

Para saber mais, consulte esta postagem no blog.

Consulte também o exemplo CMakeExample no GitHub.