Xbox
注意
Xbox は vcpkg リポジトリの継続的インテグレーション プロセスの一部としてテストされないため、ライブラリの更新の一部として回帰が発生する可能性があります。
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 (19041) 以降には、Xbox Game OS で使用される API パーティションに対して WINAPI_FAMILY_GAMES
ビルドするために必要なシステム ヘッダーが含まれています。 したがって、ほとんどのライブラリは、Xbox Extensions を使用して NDA 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
示すために "スタブ" ポートを使用する必要があります。 このポートは、環境変数によって指されるGameDKLatest
GameGXDKLatest
パスをGameGRDKLatest
探します。
注意
Xbox ゲーム開発者は、タイトル ライセンス契約の条項に従って、サード パーティ製ソフトウェア コンポーネントを使用するための適切で正しいライセンス条項を自分とパブリッシャーが持っていることを確認する責任を負います。 タイトルでオープンソース コンポーネントを使用する場合は、必ず適切な法的アドバイスを求めるようにしてください。
Xbox で UWP 用にビルドする場合は、代わりに既存x64-uwp
のトリプレットを使用します。
これらのトリプレットの CMake プロジェクトは、"Windows" に設定して CMAKE_SYSTEM_NAME
ビルドされます。 対象となる Xbox 本体を示すために、XBOX_CONSOLE_TARGET
変数は "" または "xboxone
scarlett
" に設定されます。
Xbox トリプレットは、ターゲット 本体を使用 /DWINAPI_FAMILY=WINAPI_FAMILY_GAMES
して /arch:AVX
、または /arch:AVX2
ターゲット 本体に応じてビルドされます。
Xbox トリプレットは、どちらも最新の開発に強く推奨されるため、ビルド /DUNICODE /D_UNICODE
も可能です。 詳細については、 UTF-8 Everywhere マニフェスト を参照してください。
動的ライブラリの場合は、リンクが発生KERNEL32.LIB
ONECORE.LIB
しないようにしてください。 Xbox プラットフォームの場合は、代わりにプラットフォームのアンブレラ ライブラリが使用され、そのライブラリが競合kernel32
します。Microsoft Learn を参照してください。
詳細は、こちらの ブログ記事 を参照してください。
GitHub の CMakeExample サンプルも参照してください。
vcpkg に関するフィードバック
vcpkg はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。