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のパスを通す

「パスを通す」とはVisualStudioにDirectXの「インクルードファイルの場所及びライブラリファイルの場所を教える事」です。

パスを通したいプロジェクトのソリューションエクスプローラーでプロジェクト名を右クリック。

プロパティページダイアログが出るので、左ペインの「VC++ディレクトリ」をクリック。

右ペインの「インクルードディレクトリ」の右端の矢印アイコンをクリックして「編集」をクリック。

インクルードディレクトリダイアログが出るので右上のフォルダのようなアイコンをクリックしてDirectXのインクルードファイルへのパスを新規入力しま す。

パスは「C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include」のようになるはずですが、自分でインストールディレクトリをかえたならそのパスを入力します。


ライブラリファイルへのパスもインクルードと同様に設定します。


以上でパス設定は終わりです。

ただこの設定はあくまでプロジェクト単位になります。つまり別のプロジェクトではまたこの設定操作 をしなければならないということになります。

それはさすがに面倒なので回避策を公開いたします。

一度行った設定をファイルに保存し、別のプロジェクトではそのファイルを読み込むことによりその設定をコピーすることができます。


VisualStudio2017以前と2019以降ではやり方が異なるのでご自分のバージョンの部分を読んでください。

VisualStudio2017以前の場合

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

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

 

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

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


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

 

VisualStudio2019以降の場合

VisualStudio2019, 2022などでは上記のMicrosft.Cpp.x64.user等がプロパティマネージャーに表示されません。

なので自分で新たにプロパティを追加します。

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

Debug | x64を右クリック(図ではDebug | x64を設定していますが、ReleaseやWin32の指定してい場合も同様の操作を繰り返します。)

「新しいプロパティシートの追加」を選択。

「新しい項目の追加」ダイアログが出ます。図のようにプロパティシートファイル名を自分が分かり易い名前(この場合MyProperty)にして、自分が分 かり易いディレクトリ(この場合デスクトップ)を入力し、追加ボタンを押します。



プロパティに「MyProperty」が追加されました。


その「MyProperty」にパス設定をしてやります。パス設定のやり方は「パスを通す」で説明した内容と全く同じです。


今作成したプロパティ(MyProperty)を保存するのを忘れずに。

これで設定は終わりです。


別のプロジェクトに自分が作成したプロパティが自動で適用されるわけではないので、プロジェクトごとにプロパティシートファイルを読むみこみ必要があります (一度読み込めば以降は読み込み不要です)。


別のプロジェクトにもMyPropertyが適用されました。


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をビルド出来るようになるはずです。