Xbox

참고 항목

Xbox는 vcpkg 리포지토리의 연속 통합 프로세스의 일부로 테스트되지 않으므로 라이브러리 업데이트의 일부로 회귀가 발생할 수 있습니다.

Xbox 커뮤니티 트리플렛

vcpkg에는 Microsoft GDK PC 및 Xbox 개발을 위한 커뮤니티 트리플릿이 포함되어 있습니다. MSVC 컴파일러 도구 집합(Visual Studio 2019 버전 16.11 이상)을 사용합니다.

각 트리플렛에는 정적 연결과 동적 연결의 두 가지 변형이 있습니다.

콘솔 vcpkg 커뮤니티 트리플렛
Xbox One x64-xbox-xboxone
x64-xbox-xboxone-static
Xbox Series X|S x64-xbox-scarlett
x64-xbox-scarlett-static

static MSVC 런타임을 DLL(즉VCPKG_CRT_LINKAGE dynamic, 권장 및 지원되는 사용 시나리오)으로 사용하도록 연결 세 쌍둥이가 설정됩니다.

Windows SDK를 사용하여 빌드

Windows SDK(19041) 이상에는 Xbox 게임 OS에서 사용하는 API 파티션에 대해 WINAPI_FAMILY_GAMES 빌드하는 데 필요한 시스템 헤더가 포함되어 있습니다. 따라서 대부분의 라이브러리는 Xbox 확장을 사용하여 NDA Microsoft GDK에 액세스하지 않고도 이러한 삼중자에 대해 빌드할 수 있습니다.

Xbox 확장을 사용하여 Microsoft GDK를 사용하여 빌드

DirectX 그래픽 API를 사용하는 라이브러리는 Xbox 게임 OS에서 사용하는 Direct3D 12.X의 사용자 지정 변형을 사용하여 빌드해야 하며, 이를 위해서는 Xbox 확장으로 NDA Microsoft GDK에 액세스해야 합니다. Xbox 게임 OS는 Direct3D 11, Direct2D/DirectWrite, OpenGL, GDI 또는 이전 버전의 Direct3D를 지원하지 않습니다.

이러한 헤더가 필요한 라이브러리는 이 요구 사항을 나타내기 위해 "스텁" 포트를 사용해야 ms-gdkx 합니다. 이 포트는 , 및 GameGRDKLatest 환경 변수가 가리키는 GameDKLatestGameGXDKLatest경로를 찾습니다.

참고 항목

Xbox 게임 개발자는 타이틀 사용권 계약 조건에 따라 타사 소프트웨어 구성 요소를 사용하기 위한 적절하고 올바른 라이선스 조건을 가지고 있는지 확인해야 합니다. 타이틀에서 오픈 소스 구성 요소를 사용하기 위한 적절한 법률 자문을 구해야 합니다.

Xbox의 UWP

Xbox에서 UWP용으로 빌드하는 경우 기존 x64-uwp 트리플렛을 대신 사용합니다.

유지 관리자 노트

이러한 세 쌍둥이에 대한 CMake 프로젝트는 "Windows" 집합을 사용하여 CMAKE_SYSTEM_NAME 빌드됩니다. 대상이 되는 Xbox 콘솔을 나타내기 위해 변수는 XBOX_CONSOLE_TARGET "" 또는 "xboxonescarlett"로 설정됩니다.

Xbox 트리플렛은 대상 본체를 /DWINAPI_FAMILY=WINAPI_FAMILY_GAMES/arch:AVX 사용하거나 /arch:AVX2 대상 본체에 따라 빌드됩니다.

Xbox 트리플렛도 최신 개발에 강력하게 권장되기 때문에 빌드 /DUNICODE /D_UNICODE 됩니다. 자세한 내용은 UTF-8 Everywhere 선언문을 참조하세요.

동적 라이브러리의 경우 연결을 제거하거나 ONECORE.LIB에 연결 KERNEL32.LIB 하지 않도록 해야 합니다. Xbox 플랫폼의 경우 플랫폼 우산 라이브러리를 사용하는 대신 충돌하는 등과 kernel32충돌합니다. Microsoft Learn을 참조하세요.

추가 참고 자료

자세한 내용은 이 블로그 게시물을 참조하세요.

GitHub의 CMakeExample 샘플도 참조하세요.