Microsoft Game Development Kit をインストールしないでプロジェクトを構成する
このトピックでは、MSBuild を使用して、抽出済み Microsoft Game Development Kit (GDK) ファイルを参照しているときに、MSBuild を使用してビルドするプロジェクトを構成する方法について説明します。 MSBuild および CMake を使用するサンプル プロジェクトをダウンロードするには、「Project configuration sample (プロジェクト構成サンプル)」セクションを参照してください。
セクション | 内容 |
---|---|
プラットフォーム プロパティおよびターゲット ファイル | GDK に含まれるプロパティとターゲット ファイルの種類と場所。 |
MSBuild プロパティのオーバーライド | フラットに展開された GDK で動作するようにプロパティをオーバーライドする方法 |
Gaming.Xbox.XboxOne.x64 および Gaming.Xbox.Scarlett.x64 プロジェクトのカスタマイズ | フラットに展開された GDK と連携するように Xbox プロジェクトを構成する手順 |
GDK の Gaming.Xbox.XboxOne.x64 および Gaming.Xbox.Scarlett.x64 プロパティのオーバーライド | Xbox プロパティは、フラットに展開された GDK で動作するようにオーバーライドします。 |
Windows 10 SDK のGaming.Xbox.XboxOne.x64 および Gaming.Xbox.Scarlett.x64 プロパティのオーバーライド | Xbox プロパティは、フラットに展開された Windows 10 SDK で動作するようにオーバーライドします。 |
Gaming.Xbox.XboxOne.x64 ライブラリおよびインクルードの参照 | Xbox One プロジェクトのライブラリおよびインクルードの参照パス |
Gaming.Xbox.Scarlett.x64 ライブラリおよびインクルードの参照 | Xbox Series X|S プロジェクトのライブラリおよびインクルードの参照パス |
Gaming.Xbox.XboxOne.x64 および Gaming.Xbox.Scarlett.x64 の拡張ライブラリ | 拡張機能ライブラリ (つまり Xbox.Game.Chat) の Xbox プロパティ ファイル |
Gaming.Desktop.x64 プロジェクトのカスタマイズ | フラットに展開された GDK と連携するように PC デスクトップ プロジェクトを構成する手順 |
GDK のGaming.Desktop.x64 プロパティのオーバーライド | PC デスクトップ プロパティは、フラットに展開された GDK で動作するようにオーバーライドします |
Windows 10 SDK のGaming.Desktop.x64 プロパティのオーバーライド | PC デスクトップ プロパティは、フラットに展開された Windows 10 SDK で動作するようにオーバーライドします |
Gaming.Desktop.x64 ライブラリおよびインクルードの参照 | PC デスクトップ プロジェクトのライブラリおよびインクルードの参照パス。 |
Gaming.Desktop.x64 拡張機能ライブラリ | 拡張機能ライブラリ (つまり Xbox.Game.Chat) の PC デスクトップ プロパティ ファイル |
PC 側のツールのプロパティ構成 | PC 側のツールを適切に使用するためのプロパティのオーバーライド |
Visual Studio バージョン特有のオーバーライド | Visual Studio のバージョンに必要なプロパティのオーバーライド |
Visual Studio 2019 プラットフォームのオーバーライド | Visual Studio 2019 のプラットフォーム フォルダー位置のプロパティの オーバーライド。 |
Visual Studio 2022 プラットフォームのオーバーライド | Visual Studio 2022 のプラットフォーム フォルダー位置のプロパティの オーバーライド。 |
プロジェクト構成のサンプル | フラットに展開された GDK を使用して起動および実行するためのサンプル |
CMake サンプル | フラットに展開されている GDK を使用してプロジェクトを統合する CMake サンプル |
MSBuild のサンプル | フラットに展開されている GDK を使用してプロジェクトを統合する MSBuild サンプル |
プラットフォーム プロパティおよびターゲット ファイル
GDK 抽出ファイルには、プロパティ ファイルとターゲット ファイルのセットが含まれています。これは、Gaming.Xbox.XboxOne.x64 プラットフォーム、Gaming.Xbox.Scarlett.x64 プラットフォーム、または Gaming.Desktop.x64 プラットフォームを構築する際に使用されます。 これらのプラットフォームは、定義されたプラットフォームでのビルド時に、Microsoft.Cpp.Default.props の参照からインポートされます。 これらのファイルを調べると、プラットフォームの MSBuild コンポーネントの機能と、ビルド システムへの最適な統合の理解に役立ちます。
これらのファイルは、Visual Studio のバージョン、プラットフォーム ツールセットのバージョン、およびプラットフォーム ターゲットに基づいて 16 個のインスタンスが存在します。 抽出された GDK フォルダーのパスの例を次に示します。
- C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\VS2019\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms\Gaming.Xbox.XboxOne.x64
- C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\VS2019\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms\Gaming.Xbox.Scarlett.x64
- C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms\Gaming.Xbox.XboxOne.x64
- C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms\Gaming.Xbox.Scarlett.x64
- C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v170\Platforms\Gaming.Xbox.XboxOne.x64
- C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v170\Platforms\Gaming.Xbox.Scarlett.x64
- C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\VS2019\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms\gaming.desktop.x64
- C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms\gaming.desktop.x64
- C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v170\Platforms\gaming.desktop.x64
Visual Studio 2019 と Visual Studio 2022 の v160 フォルダーと v170 フォルダーの違いは、v142 (v160) または v143 (v170) プラットフォーム ツールセット バージョン ($(PlatformToolset) プロパティで定義されている) の使用です。
MSBuild プロパティのオーバーライド
プロジェクトで MSBuild プロパティをオーバーライドする方法は複数あります。 便利な方法の 1 つは、プロジェクトファイルと同じディレクトリに Directory.Build.props ファイルを作成することです。 このファイルで定義されたプロパティは、プロジェクトのビルド時に自動的に適用されます。 ファイルが存在しない場合、オーバーライドは適用されません。 これは、Microsoft Game Development Kit (GDK) がインストールされているかどうかに関係なく、同じプロジェクト ファイルを使用できることを意味します。 Microsoft Game Development Kit (GDK) がインストールされている場合は、Directory.Build.props を削除するか名前を変更して、通常のビルド プロセスを使用します。
MSBuild サンプル は、Directory.Build.props ファイルの使用法を示しています。
以下のセクションでは、プロパティをオーバーライドして抽出された Microsoft Game Development Kit (GDK) をポイントするための推奨される方法と、lib および include のパスの詳細の情報について説明します。
Gaming.Xbox.XboxOne.x64 および Gaming.Xbox.Scarlett.x64 プロジェクトのカスタマイズ
抽出された GDK から MSBuild を使って Gaming.Xbox.XboxOne.x64 プロジェクトと Gaming.Xbox.Scarlett.x64 プロジェクトをビルドするには、プロジェクトのカスタマイズが必要です。 オーバーライドが必要なプロパティの場合、Gaming.Xbox.XboxOne.x64 と Gaming.Xbox.Scarlett.x64 の最も重要な違いはPlatform
プロパティの定義です。
GDK の Gaming.Xbox.XboxOne.x64 および Gaming.Xbox.Scarlett.x64 プロパティのオーバーライド
Gaming.Xbox.XboxOne.x64 プラットフォームおよび Gaming.Xbox.Scarlett.x64 プラットフォーム用に構成されたプロジェクトを正常にビルドするには、次のプロパティを設定する必要があります。 これらは、プロジェクト ファイル内で定義されている Microsoft.Cpp.Default.props をインポートする前に、インポートする必要があります。
オーバーライドされるプロパティの説明
-
BWOI_GDK_Path:
これは必須ではないユーザー プロパティですが、これを設定して将来のプロパティ値で使用するようにし、パスのハードコードを減らすことを推奨します。 -
Platform
プロジェクトのコンパイルに使用されるプラットフォームを指定します。 GDK における Xbox 本体ファミリーのオプションは、Gaming.Xbox.XboxOne.x64 と Gaming.Xbox.Scarlett.x64 です。 このプロパティは、新しいプロジェクト テンプレートの一部として設定されます。 -
XdkEditionTarget
: ビルドのコンパイルに使用される GDK のバージョンをオーバーライドします。 これは Platform.default.props で定義され、xdk.props で設定される内部プロパティであるXdkEdition
から派生しています。 -
DurangoXdkInstallPath
: 抽出した GDK の Microsoft Game Development Kit (GDK) フォルダーの場所をオーバーライドします。 これは Platform.Edition.default.props で定義されています。 -
DefaultXdkEditionRootVS2019
: Visual Studio 2019 互換Platform
のプロパティ ファイルとターゲット ファイルの既定の場所をオーバーライドします。 これは Platform.default.props で定義されています。 このプロパティは、Visual Studio 2019 でプロジェクトを使用する場合にのみ定義する必要があります。 -
XdkEditionRootVS2019
: Visual Studio 2019 互換Platform
のプロパティとターゲット ファイルの場所をオーバーライドします。 これは Platform.props で定義されています。 このプロパティは、Visual Studio 2019 でプロジェクトを使用する場合にのみ定義する必要があります。 -
DefaultXdkEditionRootVS2022
: Visual Studio 2022 互換Platform
のプロパティ ファイルとターゲット ファイルの既定の場所をオーバーライドします。 これは Platform.default.props で定義されています。 このプロパティは、Visual Studio 2022 でプロジェクトを使用する場合にのみ定義する必要があります。 -
XdkEditionRootVS2022
: Visual Studio 2022 互換Platform
のプロパティ とターゲット ファイルの場所をオーバーライドします。 これは Platform.props で定義されています。 このプロパティは、Visual Studio 2022 でプロジェクトを使用する場合にのみ定義する必要があります。 -
PlatformToolset
: ビルドに使用される特定のバージョンのビルド ツールをオーバーライドします。 v142 は Visual Studio 2019 でサポートされています。 v142 と v143 は Visual Studio 2022 でサポートされています (v143 は既定で定義されています)。 これは、Microsoft.Cpp.Defaults.props で定義されています。
以前に抽出したフォルダーの例に基づく、参照用の Gaming.Xbox.Scarlett.x64 プロパティ値の例:
<BWOI_GDK_Path>C:\ExtractedGDK\241000\</BWOI_GDK_Path>
<Platform>Gaming.Xbox.Scarlett.x64</Platform>
<XdkEditionTarget>241000</XdkEditionTarget>
<DurangoXdkInstallPath>$(BWOI_GDK_Path)Microsoft GDK\</DurangoXdkInstallPath>
<DefaultXdkEditionRootVS2019>$(XdkEditionTarget)\GXDK\VS2019\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms\$(Platform)\</DefaultXdkEditionRootVS2019>
<XdkEditionRootVS2019>$(DurangoXdkInstallPath)$(XdkEditionTarget)\GXDK\VS2019\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms\$(Platform)\</XdkEditionRootVS2019>
<DefaultXdkEditionRootVS2022>$(XdkEditionTarget)\GXDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v170\Platforms\$(Platform)\</DefaultXdkEditionRootVS2022>
<XdkEditionRootVS2022>$(DurangoXdkInstallPath)$(XdkEditionTarget)\GXDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v170\Platforms\$(Platform)\</XdkEditionRootVS2022>
<PlatformToolset>$(PlatformToolset)</PlatformToolset>
プラットフォーム フォルダーをオーバーライドして Gaming.Xbox.XboxOne.x64 と Gaming.Xbox.Scarlett.x64 に固有の .props とターゲットを検出するには、Visual Studio プラットフォームのオーバーライドに関する次のセクションを参照してください。
Windows 10 SDK のGaming.Xbox.XboxOne.x64 および Gaming.Xbox.Scarlett.x64 プロパティのオーバーライド
以下のプロパティは、抽出された Windows 10 SDK を使用する場合にのみ設定する必要があります。 インストール済みの Windows 10 SDK を使用している場合は、このセクションをスキップできます。
-
BWOI_Win10SDK_Path
: これは必須ではないユーザー プロパティですが、これを設定して将来のプロパティ値で使用するようにし、パスのハードコードを減らすことを推奨します。 -
WindowsSdkDir
: Windows 10 SDK の場所をオーバーライドします。 -
WindowsSdkDir_10:
Windows 10 SDK (Windows 10) の場所をオーバーライドします。 これは、ビルドのコンパイル中にインポートされる Microsoft.Cpp.WindowsSDK.props のレジストリ キーを使ってチェックされます。 -
UCRTContentRoot
: ユニバーサル C ランタイム ライブラリ コンテンツ ルートの場所をオーバーライドします。 これは uCRT.props で定義されています。 -
UniversalCRTSdkDir
: ユニバーサル C ランタイム ライブラリ SDK (Visual C++ C ランタイム) の場所をオーバーライドします。 このプロパティは、ビルドのコンパイル中にインポートされる Microsoft.Cpp.WindowsSDK.props のレジストリ キーを使ってチェックされます。 -
UniversalCRTSdkDir_10
: ユニバーサル C ランタイム ライブラリ SDK (Windows 10 向けの Visual C++ C ランタイム) の場所をオーバーライドします。 このプロパティは、ビルドのコンパイル中にインポートされる Microsoft.Cpp.WindowsSDK.props のレジストリ キーを使ってチェックされます。 -
WindowsSDK_ExecutablePath_x86
: Windows 10 SDK に含まれている x86 ツールの場所をオーバーライドします。rc.exe
などのツールはこの場所に存在します。 このプロパティは、Microsoft.Cpp.WindowsSDK.props で定義されています。 -
WindowsSDK_ExecutablePath_x64
: Windows 10 SDK に含まれている x64 ツールの場所をオーバーライドします。rc.exe
などのツールはこの場所に存在します。 このプロパティは、Microsoft.Cpp.WindowsSDK.props で定義されています。 -
WindowsTargetPlatformVersion
: 使用されている Windows 10 SDK のバージョンをオーバーライドします。 このプロパティは Platform.Edition.default.props ファイルで定義されています (定義されていない場合はローカル パスを走査します)。 -
TargetPlatformVersion
: 使用されている Windows 10 SDK のバージョンをオーバーライドします。 このプロパティは、Microsoft.Cpp.WindowsSDK.props で定義されています。
以前に抽出したフォルダーの例に基づく、リファレンス用のプロパティ値の例:
<BWOI_Win10SDK_Path>C:\ExtractedWin10SDK\</BWOI_Win10SDK_Path>
<WindowsSdkDir>$(BWOI_Win10SDK_Path)Windows Kits\10\</WindowsSdkDir>
<WindowsSdkDir_10>$(WindowsSdkDir)</WindowsSdkDir_10>
<UCRTContentRoot>$(WindowsSdkDir)</UCRTContentRoot>
<UniversalCRTSdkDir>$(WindowsSdkDir)</UniversalCRTSdkDir>
<UniversalCRTSdkDir_10>$(WindowsSdkDir)</UniversalCRTSdkDir_10>
<WindowsSDK_ExecutablePath_x86>$(WindowsSdkDir)bin\$(WindowsTargetPlatformVersion)\x86</WindowsSDK_ExecutablePath_x86>
<WindowsSDK_ExecutablePath_x64>$(WindowsSdkDir)bin\$(WindowsTargetPlatformVersion)\x64</WindowsSDK_ExecutablePath_x64>
<WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>
<TargetPlatformVersion>$(WindowsTargetPlatformVersion)</TargetPlatformVersion>
Microsoft GDK を使用するには、Windows 10 SDK (19041) 以降が必要です。 必要に応じて、Windows SDK (20348、22000、または 22621) を使用できますが、必須ではありません。
2023 年 10 月のリリースの時点で、Windows 11 SDK (22000) 以降が必要です。 必要に応じて、Windows 11 SDK Version 22H2 (22621) を使用できますが、必須ではありません。 "10.0.19041.0" のすべてのインスタンスを "10.0.22000.0" に置き換えます。
Gaming.Xbox.XboxOne.x64 ライブラリおよびインクルードの参照
ライブラリおよびインクルードの参照は、上記のオーバーライドされたパスから派生するため、直接オーバーライドする必要はありません。 このセクションは参考程度にご覧ください。
これらの参照は、Gaming.Xbox.XboxOne.x64 プラットフォーム フォルダー内の Platform.Edition.props で定義されています。 プロパティの構築方法は次のとおりです。
<Console_LibRoot>$(WindowsSDKDir)Lib\$(TargetPlatformVersion)\</Console_LibRoot>
<Console_EndpointLibRoot>$(DurangoXdkInstallPath)GXDK\gameKit\Lib\amd64;$(DurangoXdkInstallPath)GXDK\gameKit\Lib\amd64\XboxOne;$(DurangoXdkInstallPath)GRDK\gameKit\Lib\amd64</Console_EndpointLibRoot>
<Console_EndpointIncludeRoot>$(DurangoXdkInstallPath)GXDK\gameKit\Include\;$(DurangoXdkInstallPath)GXDK\gameKit\Include\XboxOne\;$(DurangoXdkInstallPath)GRDK\gameKit\Include\</Console_EndpointIncludeRoot>
<Console_WindowsIncludeRoot>$(WindowsSDKDir)Include\$(TargetPlatformVersion)\</Console_WindowsIncludeRoot>
<Console_Libs Condition="'$(Console_Libs)'==''">pixevt.lib;d3d12_x.lib;xgameplatform.lib;xgameruntime.lib;xmem.lib;xg_x.lib</Console_Libs>
<Console_UCRTRedistDebug>$(WindowsSDKDir)bin\$(TargetPlatformVersion)\x64\ucrt\</Console_UCRTRedistDebug>
<Console_SdkRoot>$(DurangoXdkInstallRoot)</Console_SdkRoot>
<Console_SdkIncludeRoot>$(Console_EndpointIncludeRoot);$(WindowsSDK_IncludePath);$(UniversalCRT_IncludePath);$(VC_VC_IncludePath);</Console_SdkIncludeRoot>
<Console_SdkLibPath>$(Console_EndpointLibRoot);$(WindowsSDK_LibraryPath_x64);$(UniversalCRT_LibraryPath_x64);$(VC_LibraryPath_VC_x64_OneCore)</Console_SdkLibPath>
MSBuild ログのライブラリおよびインクルード プロパティの定義の例:
Console_EndpointIncludeRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Include\;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Include\XboxOne\;C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Include\
Console_EndpointLibRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Lib\amd64;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Lib\amd64\XboxOne;C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Lib\amd64
Console_ExtLibPaths = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\ExtensionLibrary.props
Console_ExtLibPathsString = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\ExtensionLibrary.props
Console_GRDKExtLibNamesString = PlayFab.Party.Cpp|PlayFab.PartyXboxLive.Cpp|Xbox.Game.Chat.2.Cpp.API|Xbox.Services.API.C
Console_GRDKExtLibRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\
Console_LibRoot = C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\
Console_Libs = pixevt.lib;d3d12_x.lib;xgameplatform.lib;xgameruntime.lib;xmem.lib;xg_x.lib
Console_SdkIncludeRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\Include;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Include\;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Include\XboxOne\;C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\winrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\cppwinrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt;;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\include;;
Console_SdkLibPath = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\Lib\x64\Release\v143;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Lib\amd64;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Lib\amd64\XboxOne;C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Lib\amd64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64;C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x64;;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\lib\onecore\x64
Console_SdkRoot = C:\ExtractedGDK\241000\Microsoft GDK\
Console_SdkToolPath = C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\bin\XboxOne\
Console_UCRTRedistDebug = C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\ucrt\
Console_WindowsIncludeRoot = C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\
Gaming.Xbox.Scarlett.x64 ライブラリおよびインクルードの参照
ライブラリおよびインクルードの参照は、上記のオーバーライドされたパスから派生するため、直接オーバーライドする必要はありません。 このセクションは参考程度にご覧ください。
これらの参照は、Gaming.Xbox.Scarlett.x64 プラットフォーム フォルダー内の Platform.Edition.props で定義されています。 プロパティの構築方法は次のとおりです。
<Console_LibRoot>$(WindowsSDKDir)Lib\$(TargetPlatformVersion)\</Console_LibRoot>
<Console_EndpointLibRoot>$(DurangoXdkInstallPath)GXDK\gameKit\Lib\amd64;$(DurangoXdkInstallPath)GXDK\gameKit\Lib\amd64\Scarlett;$(DurangoXdkInstallPath)GRDK\gameKit\Lib\amd64</Console_EndpointLibRoot>
<Console_EndpointIncludeRoot>$(DurangoXdkInstallPath)GXDK\gameKit\Include\;$(DurangoXdkInstallPath)GXDK\gameKit\Include\Scarlett\;$(DurangoXdkInstallPath)GRDK\gameKit\Include\</Console_EndpointIncludeRoot>
<Console_WindowsIncludeRoot>$(WindowsSDKDir)Include\$(TargetPlatformVersion)\</Console_WindowsIncludeRoot>
<Console_Libs Condition="'$(Console_Libs)'==''">pixevt.lib;d3d12_xs.lib;xgameplatform.lib;xgameruntime.lib;xmem.lib;xg_xs.lib</Console_Libs>
<Console_UCRTRedistDebug>$(WindowsSDKDir)bin\$(TargetPlatformVersion)\x64\ucrt\</Console_UCRTRedistDebug>
<Console_SdkRoot>$(DurangoXdkInstallRoot)</Console_SdkRoot>
<Console_SdkIncludeRoot>$(Console_EndpointIncludeRoot);$(WindowsSDK_IncludePath);$(UniversalCRT_IncludePath);$(VC_VC_IncludePath);</Console_SdkIncludeRoot>
<Console_SdkLibPath>$(Console_EndpointLibRoot);$(WindowsSDK_LibraryPath_x64);$(UniversalCRT_LibraryPath_x64);$(VC_LibraryPath_VC_x64_OneCore)</Console_SdkLibPath>
MSBuild ログのライブラリおよびインクルード プロパティの定義の例:
Console_EndpointIncludeRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Include\;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Include\Scarlett\;C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Include\
Console_EndpointLibRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Lib\amd64;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Lib\amd64\Scarlett;C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Lib\amd64
Console_ExtLibPaths = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\ExtensionLibrary.props
Console_ExtLibPathsString = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\ExtensionLibrary.props
Console_GRDKExtLibNamesString = PlayFab.Party.Cpp|PlayFab.PartyXboxLive.Cpp|Xbox.Game.Chat.2.Cpp.API|Xbox.Services.API.C
Console_GRDKExtLibRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\
Console_LibRoot = C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\
Console_Libs = pixevt.lib;d3d12_xs.lib;xgameplatform.lib;xgameruntime.lib;xmem.lib;xg_xs.lib
Console_SdkIncludeRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\Include;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Include\;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Include\Scarlett\;C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\winrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\cppwinrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt;;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\include;;
Console_SdkLibPath = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\Lib\x64\Release\v143;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Lib\amd64;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Lib\amd64\Scarlett;C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Lib\amd64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64;C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x64;;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\lib\onecore\x64
Console_SdkRoot = C:\ExtractedGDK\241000\Microsoft GDK\
Console_SdkToolPath = C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\bin\Scarlett\
Console_UCRTRedistDebug = C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\ucrt\
Console_WindowsIncludeRoot = C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\
Gaming.Xbox.XboxOne.x64 および Gaming.Xbox.Scarlett.x64 の拡張ライブラリ
拡張ライブラリは、Xbox.Services.API.C、Xbox.Game.Chat.2.Cpp.API、Xbox.XCurl.API、Xbox.LibHttpClient、PlayFab.Party.Cpp、PlayFab.PartyXboxLive.Cpp 用に存在します。 これらの機能を利用している場合、これらをプロジェクトにインポートし、以下の .props ファイルでの定義に基づいて関連付けられているプロパティをオーバーライドする必要があります。
Microsoft GDK (2024 年 10 月) 以降:
- C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\ExtensionLibrary.props
- C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Game.Chat.2.Cpp.API\ExtensionLibrary.props
- C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\PlayFab.Party.Cpp\ExtensionLibrary.props
- C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\PlayFab.PartyXboxLive.Cpp\ExtensionLibrary.props
- C:\ExtractedGDK\241000\Microsoft GDK\220600\GRDK\ExtensionLibraries\PlayFab.Services.C\ExtensionLibrary.props
Microsoft GDK (2024 年 6 月) 以前:
- C:\ExtractedGDK\241000\Microsoft GDK\230600\GRDK\ExtensionLibraries\Xbox.Services.API.C\DesignTime\CommonConfiguration\Neutral\ExtensionLibrary.props
- C:\ExtractedGDK\241000\Microsoft GDK\230600\GRDK\ExtensionLibraries\Xbox.Game.Chat.2.Cpp.API\DesignTime\CommonConfiguration\neutral\ExtensionLibrary.props
- C:\ExtractedGDK\241000\Microsoft GDK\230600\GRDK\ExtensionLibraries\PlayFab.Party.Cpp\DesignTime\CommonConfiguration\neutral\ExtensionLibrary.props
- C:\ExtractedGDK\241000\Microsoft GDK\230600\GRDK\ExtensionLibraries\PlayFab.PartyXboxLive.Cpp\DesignTime\CommonConfiguration\neutral\ExtensionLibrary.props
- C:\ExtractedGDK\241000\Microsoft GDK\230600\GRDK\ExtensionLibraries\PlayFab.Services.C\DesignTime\CommonConfiguration\neutral\ExtensionLibrary.props
注: Xbox.Services.API.C の .props ファイルには、追加の依存関係として Appnotify.lib、crypt32.lib、および winhttp.lib が追加されています。
拡張子ライブラリのプロパティは、ターゲットのプラットフォーム フォルダー内の Platform.Edition.props に定義されています。 これらのプロパティの構築方法の例については、次を参照してください。
<GDKExtLibNames Condition="'$(GDKExtLibNames)'==''">Xbox.Services.API.C</GDKExtLibNames>
<Console_GRDKExtLibRoot>$(DurangoXdkInstallPath)GRDK\ExtensionLibraries\</Console_GRDKExtLibRoot>
<Console_GRDKExtLibNamesString>$([System.String]::Join('|', $([System.IO.Directory]::GetDirectories("$(Console_GRDKExtLibRoot)"))).Replace('$(Console_GRDKExtLibRoot)',''))</Console_GRDKExtLibNamesString>
<Console_ExtLibPathsString>$([System.Text.RegularExpressions.Regex]::Replace($(GDKExtLibNames), '($(Console_GRDKExtLibNamesString))','$(Console_GRDKExtLibRoot)%24%26\ExtensionLibrary.props'))</Console_ExtLibPathsString>
<Console_ExtLibPaths>$([MSBuild]::Unescape($(Console_ExtLibPathsString)))</Console_ExtLibPaths>
GDKExtLibNames
では、最大 5 つのライブラリを定義できます。 このプロパティが定義されていない場合は、既定では、Xbox.Services.API.C になります。
Gaming.Desktop.x64 プロジェクトのカスタマイズ
抽出された Microsoft Game Development Kit (GDK) から MSBuild を使って Gaming.Desktop.x64 プロジェクトをビルドするには、プロジェクトのカスタマイズが必要です。
注意
Gaming.Desktop.x64、Gaming.Xbox.Scarlett.x64、および Gaming.Xbox.XboxOne.x64 のプロパティ オーバーライドの主な違いはごくわずかです。 最も重要な点は、Gaming.Desktop.x64 ファイルが GRDK パスにあるということです。 Gaming.Xbox.Scarlett.x64 と Gaming.Xbox.XboxOne.x64 のファイルは、GXDK パスにあります (拡張機能ライブラリを除く)。
GDK のGaming.Desktop.x64 プロパティのオーバーライド
Gaming.Desktop.x64 プラットフォーム用に構成されたプロジェクトを正常にビルドするためには、次のプロパティを設定する必要があります。 これらのプロパティは、プロジェクト ファイル内で定義されている Microsoft.Cpp.Default.props をインポートする前に、インポートする必要があります。
オーバーライドされるプロパティの説明
-
BWOI_GDK_Path
: これは必須ではないユーザー プロパティですが、これを設定して将来のプロパティ値で使用するようにし、パスのハードコードを減らすことを推奨します。 -
Platform
プロジェクトのコンパイルに使用されるプラットフォームを指定します。 Microsoft Game Development Kit (GDK) のプラットフォームは、Gaming.Desktop.x64 です。 -
XdkEditionTarget
: ビルドのコンパイルに使用される GDK のバージョンをオーバーライドします。 このプロパティは Platform.default.propsで定義され、xdk.props で設定される内部プロパティであるXdkEdition
から派生しています。 -
DurangoXdkInstallPath
: 抽出した GDK の Microsoft Game Development Kit (GDK) フォルダーの場所をオーバーライドします。 これは Platform.Edition.default.props で定義されています。 -
DefaultXdkEditionRootVS2019
: Visual Studio 2019 互換Platform
のプロパティ ファイルとターゲット ファイルの既定の場所をオーバーライドします。 これは Platform.default.props で定義されています。DefaultXdkEditionRootVS2019
は、Visual Studio 2019 でプロジェクトを使用する場合にのみ定義する必要があります。 -
XdkEditionRootVS2019
: Visual Studio 2019 互換Platform
のプロパティとターゲット ファイルの場所をオーバーライドします。 これは Platform.default.props で定義されています。XdkEditionRootVS2019
は、Visual Studio 2019 でプロジェクトを使用する場合にのみ定義する必要があります。 -
DefaultXdkEditionRootVS2022
: Visual Studio 2022 互換Platform
のプロパティ ファイルとターゲット ファイルの既定の場所をオーバーライドします。 これは Platform.default.props で定義されています。DefaultXdkEditionRootVS2022
は、Visual Studio 2022 でプロジェクトを使用する場合にのみ定義する必要があります。 -
XdkEditionRootVS2022
: Visual Studio 2022 互換Platform
のプロパティ とターゲット ファイルの場所をオーバーライドします。 これは Platform.default.props で定義されています。XdkEditionRootVS2022
は、Visual Studio 2022 でプロジェクトを使用する場合にのみ定義する必要があります。 -
PlatformToolset
: ビルドに使用される特定のバージョンのビルド ツールをオーバーライドします。 v142 は Visual Studio 2019 でサポートされています。 v142 と v143 は Visual Studio 2022 でサポートされています (v143 は既定で定義されています)。 これは、Microsoft.Cpp.Defaults.props で定義されています。
以前に抽出したフォルダーの例に基づく、参照用の Gaming.Desktop.x64 プロパティ値の例:
<BWOI_GDK_Path>C:\ExtractedGDK\241000\</BWOI_GDK_Path>
<Platform>Gaming.Desktop.x64</Platform>
<XdkEditionTarget>241000</XdkEditionTarget>
<DurangoXdkInstallPath>$(BWOI_GDK_Path)Microsoft GDK\</DurangoXdkInstallPath>
<DefaultXdkEditionRootVS2019>$(XdkEditionTarget)\GRDK\VS2019\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms\$(Platform)\</DefaultXdkEditionRootVS2019>
<XdkEditionRootVS2019>$(DurangoXdkInstallPath)$(XdkEditionTarget)\GRDK\VS2019\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms\$(Platform)\</XdkEditionRootVS2019>
<DefaultXdkEditionRootVS2022>$(XdkEditionTarget)\GRDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v170\Platforms\$(Platform)\</DefaultXdkEditionRootVS2022>
<XdkEditionRootVS2022>$(DurangoXdkInstallPath)$(XdkEditionTarget)\GRDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v170\Platforms\$(Platform)\</XdkEditionRootVS2022>
<PlatformToolset>$(PlatformToolset)</PlatformToolset>
プラットフォーム フォルダーをオーバーライドして Gaming.Desktop.x64 に固有の .props とターゲットを検出するには、Visual Studio プラットフォームのオーバーライドに関する次のセクションを参照してください。
Windows 10 SDK のGaming.Desktop.x64 プロパティのオーバーライド
以下のプロパティは、抽出された Windows 10 SDK を使用する場合にのみ設定する必要があります。 インストール済みの Windows 10 SDK を使用している場合は、このセクションをスキップできます。
-
BWOI_Win10SDK_Path
: これは必須ではないユーザー プロパティですが、これを設定して将来のプロパティ値で使用するようにし、パスのハードコードを減らすことを推奨します。 -
WindowsSdkDir
: Windows 10 SDK の場所をオーバーライドします。 -
WindowsSdkDir_10
: Windows 10 SDK (Windows 10) の場所をオーバーライドします。 このプロパティは、ビルドのコンパイル中にインポートされる Microsoft.Cpp.WindowsSDK.props のレジストリ キーを使ってチェックされます。 -
UCRTContentRoot
: ユニバーサル CRT コンテンツ ルートの場所をオーバーライドします。 このプロパティは uCRT.props で定義されています。 -
UniversalCRTSdkDir
: ユニバーサル CRT SDK (Visual C++ C ランタイム) の場所をオーバーライドします。 これは、ビルドのコンパイル中にインポートされる Microsoft.Cpp.WindowsSDK.props のレジストリ キーを使ってチェックされます。 -
UniversalCRTSdkDir_10
: ユニバーサル CRT SDK (Windows 10 向けの Visual C++ C ランタイム) の場所をオーバーライドします。 これは、ビルドのコンパイル中にインポートされる Microsoft.Cpp.WindowsSDK.props のレジストリ キーを使ってチェックされます。 -
WindowsSDK_ExecutablePath_x86
: Windows 10 SDK に含まれている x86 ツールの場所をオーバーライドします。rc.exe
などのツールはこの場所に存在します。 これは、Microsoft.Cpp.WindowsSDK.props で定義されています。 -
WindowsSDK_ExecutablePath_x64
: Windows 10 SDK に含まれている x64 ツールの場所をオーバーライドします。rc.exe
などのツールはこの場所に存在します。 これは、Microsoft.Cpp.WindowsSDK.props で定義されています。 -
WindowsTargetPlatformVersion
: 使用されている Windows 10 SDK のバージョンをオーバーライドします。 これは Platform.Edition.default.props フォルダーで定義されています (定義されていない場合はローカル パスを走査します)。 -
TargetPlatformVersion
: 使用されている Windows 10 SDK のバージョンをオーバーライドします。 これは、Microsoft.Cpp.WindowsSDK.props で定義されています。
以前に抽出したフォルダーの例に基づく、リファレンス用のプロパティ値の例:
<BWOI_Win10SDK_Path>C:\ExtractedWin10SDK\</BWOI_Win10SDK_Path>
<WindowsSdkDir>$(BWOI_Win10SDK_Path)Windows Kits\10\</WindowsSdkDir>
<WindowsSdkDir_10>$(WindowsSdkDir)</WindowsSdkDir_10>
<UCRTContentRoot>$(WindowsSdkDir)</UCRTContentRoot>
<UniversalCRTSdkDir>$(WindowsSdkDir)</UniversalCRTSdkDir>
<UniversalCRTSdkDir_10>$(WindowsSdkDir)</UniversalCRTSdkDir_10>
<WindowsSDK_ExecutablePath_x86>$(WindowsSdkDir)bin\$(WindowsTargetPlatformVersion)\x86</WindowsSDK_ExecutablePath_x86>
<WindowsSDK_ExecutablePath_x64>$(WindowsSdkDir)bin\$(WindowsTargetPlatformVersion)\x64</WindowsSDK_ExecutablePath_x64>
<WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>
<TargetPlatformVersion>$(WindowsTargetPlatformVersion)</TargetPlatformVersion>
Microsoft GDK を使用するには、Windows 10 SDK (19041) 以降が必要です。 必要な場合は、Windows 10 SDK (20348) を使用することもできますが、必須ではありません。
Gaming.Desktop.x64 ライブラリおよびインクルードの参照
ライブラリおよびインクルードの参照は、上記のオーバーライドされたパスから派生するため、直接オーバーライドする必要はありません。 このセクションは参考程度にご覧ください。
これらの参照は、Gaming.Desktop.x64 プラットフォーム フォルダー内の Platform.Edition.props で定義されています。 プロパティの構築方法は次のとおりです。
<Console_LibRoot>$(WindowsSDKDir)Lib\$(TargetPlatformVersion)\</Console_LibRoot>
<Console_EndpointLibRoot>$(DurangoXdkInstallPath)GRDK\gameKit\Lib\amd64</Console_EndpointLibRoot>
<Console_EndpointIncludeRoot>$(DurangoXdkInstallPath)GRDK\gameKit\Include\</Console_EndpointIncludeRoot>
<Console_WindowsIncludeRoot>$(WindowsSDKDir)Include\$(TargetPlatformVersion)\</Console_WindowsIncludeRoot>
<Console_Libs>dxguid.lib;D3D12.lib;dxgi.lib;runtimeobject.lib;xGameRuntime.lib;</Console_Libs>
<Console_UCRTRedistDebug>$(WindowsSDKDir)bin\$(TargetPlatformVersion)\x64\ucrt\</Console_UCRTRedistDebug>
<Console_SdkRoot>$(DurangoXdkInstallRoot)</Console_SdkRoot>
<Console_SdkIncludeRoot>$(Console_EndpointIncludeRoot);$(WindowsSDK_IncludePath);$(UniversalCRT_IncludePath);$(VC_VC_IncludePath);</Console_SdkIncludeRoot>
<Console_SdkLibPath>$(Console_EndpointLibRoot);$(Console_LibRoot)um\x64;$(Console_LibRoot)ucrt\x64</Console_SdkLibPath>
MSBuild ログのライブラリおよびインクルード プロパティの定義の例:
Console_EndpointIncludeRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Include\
Console_EndpointLibRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Lib\amd64
Console_ExtLibPaths = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\ExtensionLibrary.props
Console_ExtLibPathsString = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\ExtensionLibrary.props
Console_GRDKExtLibNamesString = PlayFab.Party.Cpp|PlayFab.PartyXboxLive.Cpp|Xbox.Game.Chat.2.Cpp.API|Xbox.Services.API.C
Console_GRDKExtLibRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\
Console_LibRoot = C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\
Console_Libs = dxguid.lib;D3D12.lib;dxgi.lib;runtimeobject.lib;xGameRuntime.lib;
Console_SdkIncludeRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\Include;C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\winrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\cppwinrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt;;C:\Program Files (x86)\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\include;;
Console_SdkLibPath = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\Lib\x64\Release\v143;C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Lib\amd64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64
Console_SdkRoot = C:\ExtractedGDK\241000\Microsoft GDK\
Console_WindowsIncludeRoot = C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\
Gaming.Desktop.x64 拡張機能ライブラリ
Xbox.Services.API.C、Xbox.Game.Chat.2.Cpp.API、Xbox.XCurl.API、PlayFab.Party.Cpp、および PlayFab.PartyXboxLive.Cpp 用の拡張ライブラリがあります。 これらの機能を利用している場合、これらをプロジェクトにインポートし、以下の props ファイルでの定義に基づいて適切なプロパティをオーバーライドする必要があります。
- C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\ExtensionLibrary.props
- C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Game.Chat.2.Cpp.API\ExtensionLibrary.props
- C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\PlayFab.Party.Cpp\ExtensionLibrary.props
- C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\PlayFab.PartyXboxLive.Cpp\ExtensionLibrary.props
注: Xbox.Services.API.C の .props ファイルには Appnotify.lib が追加の依存関係として追加されており、そのライブラリをプロジェクトにインポートする必要があります。
拡張子ライブラリのプロパティは、ターゲットのプラットフォーム フォルダー内の Platform.Edition.props に定義されています。 これらのプロパティの構築方法の例については、次を参照してください。
<GDKExtLibNames Condition="'$(GDKExtLibNames)'==''">Xbox.Services.API.C</GDKExtLibNames>
<Console_GRDKExtLibRoot>$(DurangoXdkInstallPath)GRDK\ExtensionLibraries\</Console_GRDKExtLibRoot>
<Console_GRDKExtLibNamesString>$([System.String]::Join('|', $([System.IO.Directory]::GetDirectories("$(Console_GRDKExtLibRoot)"))).Replace('$(Console_GRDKExtLibRoot)',''))</Console_GRDKExtLibNamesString>
<Console_ExtLibPathsString>$([System.Text.RegularExpressions.Regex]::Replace($(GDKExtLibNames), '($(Console_GRDKExtLibNamesString))','$(Console_GRDKExtLibRoot)%24%26\ExtensionLibrary.props'))</Console_ExtLibPathsString>
<Console_ExtLibPaths>$([MSBuild]::Unescape($(Console_ExtLibPathsString)))</Console_ExtLibPaths>
GDKExtLibNames
では、最大 5 つのライブラリを定義できます。 これが定義されていない場合は、既定では、Xbox.Services.API.C になります。
PC 側 ツールのプロパティのオーバーライド
Microsoft Game Development Kit (GDK) を抽出されたフラット展開として使用している場合、PC 側のツールを使用している場合は、これらのプロパティを定義することをお勧めします。
<GameDK>$(BWOI_Win10SDK_Path)</GameDK>
<GameDKLatest>$(BWOI_Win10SDK_Path)$(XDKEditionTarget)\</GameDKLatest>
<GRDKLatest>$(GameDKLatest)GRDK\</GRDKLatest>
<GXDKLatest>$(GameDKLatest)GXDK\</GXDKLatest>
Visual Studio バージョン特有のオーバーライド
このセクションでは、インストールされていないビルドで適切に動作するためにオーバーライドする必要がある、バージョン固有の Visual Studio プロパティについて説明します。
Visual Studio 2019 プラットフォームのオーバーライド
Visual Studio 2019 以降では、_PlatformFolder
プロパティが非推奨になりました。 インストールなしでプロジェクト構成をサポートするソリューションの場合は、Visual Studio 2019 で追加の手順を実行する必要があります。
そのためには、インストールされているバージョンの Visual Studio 2019 の必要なファイルを抽出された GDK パスにコピーします。 例:
- v142 プラットフォーム ツールセットの場合: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160
これらは、次のパスのフォルダー構造と一致するようにコピーする必要があります。
- v142 プラットフォーム ツールセットの場合: C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\VS2019\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms
注意
上記の例では、ファイルを直接 ExtractedGDK フォルダーにコピーします。 抽出された GDK と Visual Studio VC ターゲットファイルを参照/保守容易性のために別の場所に保存する場合は、 ExtractedGDK と VC の両方のターゲットを、前述のように結合された新しいフォルダーパスにコピーして、ビルドシステムで参照することができます。
その例を次に示します。
- C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160 ルート (*.*) のすべてのファイルを、C:\ExtractedGDK\241000_CombinedGDK\ フォルダー内の同様のパスにコピーします。
- *C:\ExtractedGDK\241000\Microsoft GDK* のすべてのファイルを 、C:\ExtractedGDK\241000_CombinedGDK\ フォルダー内の同様のパスにコピーします。
- 参照/パス/プロパティを C:\ExtractedGDK\241000_CombinedGDK\ 同等のパスをポイントするように変更します。
この手順が完了したら、Platform
のプロパティ ファイルとターゲット ファイルの場所を適切に検索するために、Visual Studio 2019 でビルドを呼び出す際に次のプロパティをオーバーライドする必要があります。
-
DisableInstalledVCTargetsUse
をtrue
に設定する -
VCTargetsPath16
: Visual Studio 2019 Build Tools (v160) のプロパティ ファイルとターゲット ファイルの場所を決定する Visual Studio のパスをオーバーライドします。
注意
VC ターゲット パス プロパティは XdkEditionRootVS2019
プロパティの定義の一部であるため、この場合は設定 XdkEditionRootVS2019
を回避することを選択できます。
以前に抽出したフォルダーの例に基づく、参照用のプロパティ値の例:
<DisableInstalledVCTargetsUse>true</DisableInstalledVCTargetsUse>
<VCTargetsPath16>$(DurangoXdkInstallPath)$(XdkEditionTarget)\GXDK\VS2019\flatDeployment\MSBuild\Microsoft\VC\v160\</VCTargetsPath16>
注意
ExtractedGDK および VC ターゲットを参照/保守容易性のために分離するシナリオでは、VCTargetsPath
プロパティを指定できます ($(CombinedGDK) は、作成した新しい場所です)。
-
VCTargetsPath16
を $(CombinedGDK)\v160\ に設定する
Windows 10 SDK のオーバーライドを優先する Visual Studio 2019 (16.5) プロパティ
Visual Studio 2019 バージョン16.5 以降のバージョンを使用している場合は、次のように、Windows 10 SDK プロパティのオーバーライドが適切に評価されるように、別のプロパティを設定する必要があります。
<ClearDevCommandPromptEnvVars>false</ClearDevCommandPromptEnvVars>
Visual Studio 2022 プラットフォームのオーバーライド
Visual Studio 2019 以降では、_PlatformFolder
プロパティが非推奨になりました。 インストールなしでプロジェクト構成をサポートするソリューションの場合は、Visual Studio 2022 で追加の手順を実行する必要があります。
そのためには、インストールされているバージョンの Visual Studio 2022 の必要なファイルを抽出された GDK パスにコピーします。 例:
- v142 プラットフォーム ツールセットの場合: C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v160
- v143 プラットフォーム ツールセットの場合: C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170
これらは、次のパスのフォルダー構造と一致するようにコピーする必要があります。
- v142 プラットフォーム ツールセットの場合: C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms
- v143 プラットフォーム ツールセットの場合: C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v170\Platforms
注意
上記の例では、ファイルを直接 ExtractedGDK フォルダーにコピーします。 抽出された GDK と Visual Studio VC ターゲットファイルを参照/保守容易性のために別の場所に保存する場合は、 ExtractedGDK と VC の両方のターゲットを、前述のように結合された新しいフォルダーパスにコピーして、ビルドシステムで参照することができます。
その例を次に示します。
- C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170 ルート (*.*) のすべてのファイルを、C:\ExtractedGDK\241000_CombinedGDK\ フォルダー内の同様のパスにコピーします。
- *C:\ExtractedGDK\241000\Microsoft GDK* のすべてのファイルを 、C:\ExtractedGDK\241000_CombinedGDK\ フォルダー内の同様のパスにコピーします。
- 参照/パス/プロパティを C:\ExtractedGDK\241000_CombinedGDK\ 同等のパスをポイントするように変更します。
この手順が完了したら、Platform
のプロパティ ファイルとターゲット ファイルの場所を適切に検索するために、Visual Studio 2022 でビルドを呼び出す際に次のプロパティをオーバーライドする必要があります。
-
DisableInstalledVCTargetsUse
をtrue
に設定する -
VCTargetsPath16
: Visual Studio 2019 Build Tools (v160) のプロパティ ファイルとターゲット ファイルの場所を決定する Visual Studio のパスをオーバーライドします。 -
VCTargetsPath17
: Visual Studio 2022 Build Tools (v170) のプロパティ ファイルとターゲット ファイルの場所を決定する Visual Studio のパスをオーバーライドします。
注意
VC ターゲット パス プロパティは XdkEditionRootVS2022
プロパティの定義の一部であるため、この場合は設定 XdkEditionRootVS2022
を回避することを選択できます。
以前に抽出したフォルダーの例に基づく、参照用のプロパティ値の例:
<DisableInstalledVCTargetsUse>true</DisableInstalledVCTargetsUse>
<VCTargetsPath16>$(DurangoXdkInstallPath)$(XdkEditionTarget)\GXDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v160\</VCTargetsPath16>
<VCTargetsPath17>$(DurangoXdkInstallPath)$(XdkEditionTarget)\GXDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v170\</VCTargetsPath17>
注意
ExtractedGDK および VC ターゲットを参照/保守容易性のために分離するシナリオでは、VCTargetsPath
プロパティを指定できます ($(CombinedGDK) は、作成した新しい場所です)。
-
VCTargetsPath16
を $(CombinedGDK)\v160\ に設定する -
VCTargetsPath17
を $(CombinedGDK)\v170\ に設定する
Windows 10 SDK のオーバーライドを優先する Visual Studio 2022 プロパティ
さらに、次のように、Windows 10 SDK プロパティのオーバーライドが適切に評価されるように、別のプロパティを設定する必要があります。
<ClearDevCommandPromptEnvVars>false</ClearDevCommandPromptEnvVars>
プロジェクト構成のサンプル
このセクションでは、インストールシナリオなしでのコードサンプルの取得方法について説明します。
CMake サンプル
起動して実行するための手順が含まれた CMakeExample サンプルは、 Xbox 開発者ダウンロード からリファレンスをダウンロードできます。 [ファイルの種類の選択] で [GDK] を選択し、[ビルド/バージョン番号の選択] で最新の [サンプル専用] アイテムを選択します。
MSBuild のサンプル
起動して実行するための手順が含まれた BWOIExample サンプルは、 Xbox 開発者ダウンロード からリファレンスをダウンロードできます。 [ファイルの種類の選択] で [GDK] を選択し、[ビルド/バージョン番号の選択] で最新の [サンプル専用] アイテムを選択します。