Direct3D9/11/12のビルド環境を構築する手順 2023.1.17更新

DirectX関連書籍の解説内容が古くなったときのために最新情報を解説する目的で本ページを設けました。
ここで解説しているものはPC上でネイティブDirectXアプリをC++で作成するためのものです。

1 コンパイラーの入手とインストール

2023年1月現在、コンパイラーの最新版はVisualC++2022バージョンです。

無料版

マイクロソフトのサイトで配布されていますので、ダウンロードしてください。

st1

 

st2


いろいろ種類があって戸惑うまもしれませんが、必要なのは 「Visual Studio Community」です。

選択するとダウンロードが開始されます。

ダウンロードされるのは「VisualStudioSetup.exe」というファイルです。

 

 このVisualStudioSetup.exeをクリックして起動します。

 

「C++によるデスクトップ開発」を選択します。MFCの開発もしたい場合は右側にある「最新のv143ビルドツール用C++MFC(x86および x64)」をチェックしておきます。

あとは、指示に従ってインストールするだけです。


DirectX SDKについて

ノースブレインのサンプルではDirectX9を使用しているものもあるため、DirectX SDKをインストールする必要があります。

まずDirectX SDK June2010を入手してください(Downloadボタンを押します)。

DirectXSDKをインストールしてください(Setupを実行し、指示に従うだけです)。

 

2 Visual StudioにDirectXのパスを通す

適当なプロジェクトで設定します。プロジェクトは何でもいいです。そこでの設定は全てのプロジェクトに反映されます。

表示 → その他のウィンドウ → プロパティマネージャー でプロパティマネージャーを開いてください。

 

何らかのプロジェクト(空のプロジェクトでも構いません)を開いた状態で、
プロパティマネージャー上で、Debug  → Microsft.Cpp.x64.userを右クリックし、プロパティを開きます。
(Releaseにも設定したい場合は、Releaseも同様に設定してください。)
何らかのプロジェクトを開いた状態じゃないとMicrosft.Cpp.x64.userは表示されませんので注意してください。

 

VC++ディレクトリ → インクルードディレクトリを編集します。

 

パスは、
C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\shared
C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\um
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include 

の3つをこの順番で追加します。
もちろん、その時のバージョンにより 10.0.14393.0 の部分は微妙に異なりますので読み替えてください。

 

同様にライブラリへのパスも記入します。

パスは、
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\ucrt\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\um\x64
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x64

この順番でセットしてください。


重要 プロパティを保存するのを忘れないでください! 保存しないと、また同じ設定をしなくてはなりません。

 

3. d3dx12.hについて

Direct3D12のサンプルをビルドするにはd3dx12.hというヘッダーが必要になりますが、d3dx12.hはSDKに含まれていません。
GitHubからd3dx12.hダウンロードしてください。

https://github.com/microsoft/DirectX-Graphics-Samples/tree/master/Samples/Desktop/D3D12HelloWorld/src/HelloWindow

 

入手したd3dx12.hはDirectXのインクルードパスに指定したフォルダ(um)に入れてください。
あるいはプロジェクトフォルダ内に入れてください(この場合プロジェクトごとにその都度入れてください)。

 

 

以上です。これでDirectX9/10/11/12をビルド出来るようになるはずです。