読者です 読者をやめる 読者になる 読者になる

Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

DirectX(DirectX 9)とWindows SDKについて

Windows Windows API DirectX Programming C++ トラブルシューティング
スポンサードリンク

f:id:fa11enprince:20150731121118j:plain
Windows8(Windows7も含む)DirectXを使おうとしてちょっとあれれってなったので記事を書きます。
DirectXで開発するためにはDirectX SDKが別途必要です。当然ランタイムだけではダメです。
しかし、Windows7以降はWindows SDKと統合されているので、Visual Studio 2012以降をインストールさえしていればDirectX SDKは必要ありません。
ただし、それはDirectX 10以降のバージョンを使う場合です。
ネットにあふれている情報はXPでも使えるDirectX 9までの情報が多いです。
DirectX 9を使うには別途DirectX SDKが必要です。
http://www.microsoft.com/en-us/download/details.aspx?id=6812

いままでDirect2Dの機能は何度か使っていましたが、
上記のことはあるDirectX 9のAPIを使ったサンプルコードをビルドしようとしたときに、d3dx9.hが見つからないとエラーがでたことで判明しました。

あれ…d3dx.hは別に文句言われないのに…と思い調べると、上記の結果となりました。
まぁそれ以前に下記のようにDXSDK_DIRマクロが定義されていないからどういうこっちゃ…と思ってました(※スクリーンショットはDirectX SDKインストール後です)。
f:id:fa11enprince:20140221172736p:plain

そんなわけで、DirectX SDK(ver9以前対応)をインストールしたところ、
エラーじゃん(;´・ω・)
f:id:fa11enprince:20140221172854p:plain

というわけでグーグル大先生に尋ねたら、
おっと、VC++の再頒布可能パッケージ(2010)を消さないとダメなんだってさ。
えーめんどくさ。
KB紹介:DirectX SDK をインストールしようとするとエラーが発生する - Windows Multimedia Hacks - Site Home - MSDN Blogs

そんなわけで2つは消します。
DirectX SDKインストール後、その2つはまた勝手にインストールされるのでご安心を。
f:id:fa11enprince:20140221173833p:plain
そんなわけでDirectX 9のAPIを使ったプログラムは動きました。