Xbox

Note

Xbox は vcpkg リポジトリの継続的インテグレーション プロセスの一部としてテストされないため、ライブラリの更新の一部として回帰が発生する可能性があります。

Xbox コミュニティ トリプレット

vcpkg には、Microsoft GDK PC および Xbox 開発用のコミュニティ トリプレット含まれています。 MSVC コンパイラ ツールセット (Visual Studio 2019 バージョン 16.11 以降) を使用します。

各トリプレットには、静的リンクと動的リンクという 2 つのバリエーションがあります。

コンソール 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 Game OS で使用される API パーティションに対して WINAPI_FAMILY_GAMES ビルドするために必要なシステム ヘッダーが含まれています。 したがって、ほとんどのライブラリは、Xbox Extensions を使用して NDA Microsoft GDK にアクセスしなくても、これらのトリプレットに対してビルドできます。

Xbox 拡張機能を使用した Microsoft GDK を使用したビルド

DirectX グラフィックス API を使用するライブラリは、Xbox Game OS で使用される Direct3D 12.X のカスタム バリアントを使用して構築する必要があり、これには Xbox 拡張機能を使用した NDA Microsoft GDK へのアクセスが必要です。 Xbox ゲーム OS では、Direct3D 11、Direct2D/DirectWrite、OpenGL、GDI、または以前のバージョンの Direct3D はサポートされないことに注意してください。

これらのヘッダーを必要とするライブラリでは、この要件を ms-gdkx 示すために "スタブ" ポートを使用する必要があります。 このポートは、環境変数によって指されるGameDKLatestGameGXDKLatestパスをGameGRDKLatest探します。

Note

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 マニフェスト を参照してください。

動的ライブラリの場合は、リンクが発生KERNEL32.LIBONECORE.LIBしないようにしてください。 Xbox プラットフォームの場合は、代わりにプラットフォームのアンブレラ ライブラリが使用され、そのライブラリが競合kernel32します。Microsoft Learn を参照してください

参考資料

詳細は、こちらの ブログ記事 を参照してください。

GitHubCMakeExample サンプルも参照してください。