【C++】Windows7でDirectX9とXInputを使ったプログラムをビルド&デバッグするまでのそこそこ長い道のり

Nintendo 妖怪ウォッチ Direct 観た。

やばい、たぶん、買う。わはは。

さて、タイトルは長いけれども、このとおりです。

先日の調査の続きで、一応、現時点での解決に至ったので経緯を記録しておく。

まず、d3dx9.hファイルがインクルードされない理由から。
※ d3d9.hではなくd3dx9.h

このために、『入門ゲームプログラミング』のサンプルコードがビルドできなった。

これは

単純にDirectXのSDKがインストールされていなかったから、ばばーん

あほかと。

DirectXにも、ランタイムライブラリとSDKとがあるみたいで、SDKの方はWindow7までは自分でインストールしないとダメらしい。

ちなみに8以降はSDKがバンドル済みなんだと。

ちょうど、javaで言うとjavaランタイムが入っているからって、javacできないじゃないか!と騒いでいたようなもの。ちょっとちがうか。

じゃあ、というわけで、DirectX SDKをダウンロードしてインストールすれば解決か、というとそうは問屋がおろさないのが、ネイティブ言語での開発の難しいところ。

DirectX SDKをインストールすると、意味不明なメッセージのダイアログが出てインストールに失敗するのだ。

調べてみると、次のような情報にたどり着いた。

20140704-2

記事にしたがって、Microsoft Visual C++ 2010 x64 RedistributableとMicrosoft Visual C++ 2010 x86 Redistributableをアンインストール。

もう一度、DirectX SDKをインストールすると、記事のとおり無事にインストール完了した。

そのあと、VS Express 2013を再インストール。(Microsoft Visual C++ 2010 x64 RedistributableがよくわからなかったのでVSからインストールしなおしたのだ、わはは)

これで解決、とおもいきや。

その後も、リンカーがはくエラーとしばし格闘。

結局、プロジェクトをいちから作り直して、プロジェクト設定を以下のように設定することで、なんとかビルド&デバッグ実行にこぎつけた。

ライブラリパス系の設定
20140704-4

Release構成のランタイムライブラリ設定
20140704-5

リンカーに対するライブラリの指定
linker

先が思いやられる…

いい勉強をしたとプラスに考えることにする。

4年前

コメントを残す

メールアドレスが公開されることはありません。