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.
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.
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.
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
, GameGXDKLatest
e 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.
Se estiver criando para UWP no Xbox, use o triplete existente x64-uwp
.
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 "scarlett
xboxone
".
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.
Para saber mais, consulte esta postagem no blog.
Consulte também o exemplo CMakeExample no GitHub.
Comentários do vcpkg
O vcpkg é um projeto código aberto. Selecione um link para fornecer comentários: