Visual Studio 2019 のサポートについて
このトピックでは、Visual Studio 2019 の Microsoft Game Development Kit (GDK) のサポートについて説明します。 Microsoft Game Development Kit (GDK) の開発環境として、Visual Studio 2019 バージョン 16.11 がサポートされています。
注意
Visual Studio 2019 バージョン 16.0 から 16.9 は、2022 年 10 月の時点でサポート対象外です。
Visual Studio 2019 のインストール
Visual Studio 2019 をインストールする場合は、次のスクリーンショットに示すように、セットアップ時に [C++ によるゲーム開発] ワークロードを選択する必要があり ます。
Windows PC ゲーム開発に必要なコア C++ ツールに加えて、[C++ によるゲーム開発] には、Microsoft Game Development Kit (GDK) で Windows PC ゲームを構築するために必要な Windows 10 SDK のバージョンも含まれています。
必須ではありませんが、[C++ によるデスクトップ開発] ワークロードをインストールすると、役立つと思われる追加のツールとサンプルが提供されます。
必要に応じて、追加でオプションのワークロードまたはコンポーネントをインストールできます。
Unity を使用するゲームを構築する場合は、[Unity でゲーム開発] ワークロードをインストールします。
MSVC ビルド ツールのバージョン v142 は、[C++ によるゲーム開発] ワークロードでインストールされます。 必要に応じて、Visual Studio 2017 (v141) に付属していた MSVC ツールで Visual Studio 2019 統合開発環境 (IDE) を使用できます。 新しいツールセットにアップグレードせずに新しい IDE を使用すると、新しいコンパイラで動作するようにソース コードを更新しなくても、新しい IDE の機能を利用できます。
Visual Studio 2019 IDE で Visual Studio 2017 ツールセットを 使用するには、次のスクリーンショットに示すように、MSVC v141 - VS 2017 C++ x64/x86 ビルド ツール (v 14.16) コンポーネントを、[C++ によるデスクトップ開発] ワークロードの下にインストールします。 Visual Studio 2017 ツールセットは、2024 年 10 月のリリース時点ではサポートされなくなりました。
- リモート PC でゲームをデバッグする方法については、Visual Studio リモート ツールのインストール手順の「Visual Studio での C++ プロジェクトのリモート デバッグ」を参照してください。
既存の Visual Studio 2017 プロジェクトの Visual Studio 2019 への移行
ほとんどの場合、Visual Studio で提供されるアップグレード ウィザードで、他の変更をまったく加えることなくプロジェクトを Visual Studio 2019 に移行できます。 Visual Studio 2019 で Visual Studio 2017 プロジェクトを開くと、アップグレードを促す次の [ソリューション操作の再ターゲット] ダイアログが表示されます。 プロジェクトをアップグレードするには、[OK] を選択します。
ビルドツールをアップグレードしないで、Visual Studio 2019 IDE を使用することもできます。 これを行うには、[ソリューション操作の再ターゲット] ダイアログ ボックスで、[キャンセル] を選択します。
プロジェクトを Visual Studio 2019 へ手動アップグレード
プロジェクト ファイル (.vcxproj) を直接編集してプロジェクトをアップグレードする場合は、以下の変更を行う必要があります。
WindowsTargetPlatformVersion
をGlobals
プロパティ グループに追加します。 その値を 10.0 に設定します。 次に例を示します。<PropertyGroup Label="Globals"> <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> ...
PlatformToolset
のすべてのインスタンスを v141 から v142 に変更します。 次に例を示します。<PlatformToolset>v141</PlatformToolset> ... <PlatformToolset>v142</PlatformToolset>
プロジェクトをリビルドします。
clang/LLVM for Windows (ClangCl) のプロジェクト サポート
Visual Studio 2019 では、Windows 開発用の clang/LLVM もサポートされています。 これには、個々のコンポーネントである C++ Clang-cl for Windows および C++ Clang-cl for v142 ビルド ツール (x64/x86) をインストールする必要があります。
詳細についてはMicrosoft ゲーム開発キット (GDK) Clang のトピックとMicrosoft Docsを参照してください。
既知の問題
DirectXMath *IsNan 関数は、
/fp:fast
を使用してビルドすると、Visual Studio 2019 で失敗する可能性があります。 この問題を解決するには、DirectXMath 3.14 以降で VS 2019 (16.3 以降) を使用します。 それ以外の場合は、これらの関数の使用について#pragma float_control
ステートメントを配置することで問題を回避できます。プリコンパイル済みヘッダーの使用には、v11 より前の Windows の clang/LLVM で多くの問題があります。 PCH および C++ テンプレートの使用法によっては、正常にビルドするために
-fno-pch-instantiate-templates
を追加する必要がある場合があります。Microsoft Update を介して配信される .NET Core 更新プログラムにより Microsoft Game Development Kit (GDK) のインストールがブロックされる可能性があります。 この問題を解決するには、Visual Studio インスタンスを更新するか、Visual Studio インストーラーから Microsoft.NET.Core.Component.SDK.2.1 コンポーネントをアンインストールしてから、Microsoft Game Development Kit (GDK) のインストール (アンインストール) を再試行します。
バグの報告
Visual C++ コンパイラのバグ報告は、Visual Studio の [問題を報告する...] から報告する必要があります (可能な場合)。Microsoft Docs と 開発者コミュニティ Web サイトを参照してください。 コンパイラの優れたバグ報告の作成の詳細については、このページを必ずお読みください。
注意
問題を再現するために追加の NDA 情報が必要な場合は、「Microsoft 専用」とマークされたパブリック レポートの問題にコメントを追加できます。
Windows の clang/LLVM コンパイラのバグ報告については、https://bugs.llvm.org/ を使用してください
Microsoft Standard C++ Library (a.k.a. STL) のバグ報告については、https://github.com/microsoft/STL/issues を使用してください