ページ 11

DirectX SDKを導入したいのですが・・・

Posted: 2010年8月17日(火) 21:39
by ボビー
DirectX SDKのバージョンとかが分からなくて困ってます。 長文失礼します。
ゲームプログラミングを本格的にやりたいのですが
0からのゲームプログラミングという解説サイトを見ながらやっているんですが

その解説サイトではMicrosoft DirectX 9.0 SDK Update(Summer 2003)の「ソフトウェア開発キット」と
「DirectX 9.0 日本語ドキュメント」を ダウンロードするように書いていてリンクが貼ってたんですが
リンク先は「ご指定のページが見つかりません」となっていたので
マイクロソフトのサイトから上記のものを探したんですが古いバージョンだからなのか見当たりませんでした。
しかたないのでDirectX SDK August2009とDirectX ドキュメント ヘルプ(August 2009)の日本語版をダウンロードしたりインストールして「SampleSTG」というプロジェクトを作って、その解説サイトの手順に沿ってプロジェクトファイルのディレクトリに指定されたファイルを追加して、ソリューションのファイルにも追加して、(ディレクトリを表示するプロジェクトにインクルードファイルとライブラリファイルにSDKを追加もしました)ビルドしたら

エラー4警告15
'#include "..\Header\StdAfx.h"': プリコンパイル済みヘッダーの使用を検索中にスキップされました
1> ディレクティブを 'stdafx.h' に追加するか、プリコンパイル済みヘッダーをビルドし直します

と出てしまいました(エラーメッセージだけですいません)。

俺はVC++2008ExpressEdition使ってるんですが解説サイトはMicrosoft Visual C++ 6.0です。
指定されたファイルを追加したりする前ならちゃんとビルド出来て真っ白いだけのウィンドウが出たので、SDKのバージョンが違うのが原因でしょうか?それともVC++2008とVC++6.0の違いでしょうか?
それとも少しソースを工夫すれば、今の俺の開発環境とその解説サイトのままでもゲームを作成していけるんでしょうか?
もしバージョンの違いで解説書や解説サイトが役に立たなくなるのであれば、解説書や解説サイトが採用している古いバージョンに合わせようと今のSDKをバージョンダウンなんて出来るのでしょうか?もし出来るなら
http://www.microsoft.com/downloads/ja-j ... tegoryid=2
ここのどれをダウンロードすればいいんでしょうか?
それともまったく違う解決方法があるんでしょうか?

あとドキュメントヘルプ日本語版の使い方も全然分かりません、関数と打って検索しても表示するトピックには「無題」としか表示してくれません、やり方が違うのでしょうか?

解説書は書店に売って無いので、中身も知らずにネットで買って役に立たなかったなんて事は避けたいです。
OSはウィンドウズXP、グラフィックなんとかはATI Radeon HD 2400 XT、IDEはVC++2008EE
C言語は一通り勉強しました、C++はクラスに関してだけ、WinAPI32はウィンドウ初期化だけかじったくらいです。
マイクロソフトのサイトに出てくる専門用語はほぼ分かりません、出来れば導入手順を手取り足取り教えて欲しいです。
長文失礼しました、宜しくお願いします。 画像

Re:DirectX SDKを導入したいのですが・・・

Posted: 2010年8月17日(火) 23:27
by naohiro19
示されたURLはランタイムのみなのでソフト起動するときに必要なライブラリなのでSDKをダウンロードするなら

DirectX デベロッパー センター: SDK、アプリケーション開発 | MSDN
http://msdn.microsoft.com/ja-jp/directx/default.aspx

でダウンロードします。

Re:DirectX SDKを導入したいのですが・・・

Posted: 2010年8月18日(水) 00:25
by ISLe
DirectX SDKは最新版でも古いバージョンに対応したプログラムの作成可能です。

余談になりますがDirectX SDKの最新版をチェックするなら英語サイトへ。

DirectX Developer Center
http://msdn.microsoft.com/en-us/directx/default.aspx

最新版はJune2010。
日本語サイトの更新はとても遅いです。


> エラー4警告15
> '#include "..\Header\StdAfx.h"': プリコンパイル済みヘッダーの使用を検索中にスキップされました
> 1> ディレクティブを 'stdafx.h' に追加するか、プリコンパイル済みヘッダーをビルドし直します

プロジェクトのプロパティのダイアログを開いて、
構成プロパティ→C/C++→プリコンパイル済みヘッダーのページで
プリコンパイル済みヘッダーの作成/使用の欄を
プリコンパイル済みヘッダーを使用しないに変更してください。

プロジェクトを新規作成するときに、次へボタンを押して空のプロジェクトにチェックを入れないとそうなります。


> あとドキュメントヘルプ日本語版の使い方も全然分かりません、関数と打って検索しても表示するトピックには「無題」としか表示してくれません、やり方が違うのでしょうか?

検索は入力した文字列を含むページを列挙します。
例えばCreateと入力してオブジェクトを作成するメソッドを探すような使い方をします。
インターフェースやメソッドの一覧を見たいときは左のツリーを辿ってリファレンスページを開いてください。

Re:DirectX SDKを導入したいのですが・・・

Posted: 2010年8月18日(水) 15:38
by ボビー
naohiro19さん
URL貼っていただいてありがとうございます。


ISLeさん 
>プリコンパイル済みヘッダーを使用しないに変更してください。
>プロジェクトを新規作成するときに、次へボタンを押して空のプロジェクトにチェックを入れないとそうなり>ます。
さっそくやってみました。ビルドすると
warning C4005: '_UNICODE' : マクロが再定義されました。1> コマンド ラインの引数 : '_UNICODE' の前の定義を確認してください
fatal error C1083: include ファイルを開けません。'dxerr9.h': No such file or directory
とか出ました。
だからエラー箇所をコメントアウトしてみたりしましたがそしたらエラーが262も出たのでもう分かりません。

>例えばCreateと入力してオブジェクトを作成するメソッドを探すような使い方をします。
>インターフェースやメソッドの一覧を見たいときは左のツリーを辿ってリファレンスページを開いてくださ>>い。
左のツリーってのが見当たりません、すいません。

>DirectX SDKは最新版でも古いバージョンに対応したプログラムの作成可能です。
2009Augustでも出来るんですかね?

長文なのに解答ありがとうございます。

参考にみなさんがどのようにDirectX SDKを扱えるようになったか教えて欲しいです。
解説書(2005や2006のSDKを扱ってる様な)買ったら今回みたいに導入していきなりつまづかないですか? 画像

Re:DirectX SDKを導入したいのですが・・・

Posted: 2010年8月18日(水) 17:15
by シエル
DirectXを勉強する上で、WindowsAPIをある程度理解していないと、
DirectXプログラミングは出来ないと思いますので、ウィンドウプロシージャの制御
ぐらいはできるようにしておいたほうがいいですよ。

Re:DirectX SDKを導入したいのですが・・・

Posted: 2010年8月18日(水) 18:01
by dic
いまだにVisual C++ 6 現役のdicです
'stdafx.h' が最近のには追加されてて
標準なライブラリ(インクルードファイル)はこれにまとめてくれ
という流れのようで 慣れた人にはいいでしょうけど
設定とか 上でもあるように マクロの定義など 内部構造関係も把握しないとコンパイルできません
なので、 stdafx.h をはずして サンプルをコピー&ペーストしてコンパイルできるように
もっていくのがいいです
あと、SDKをインストールしたら、lib,h,ファイルのディレクトリの設定もお忘れなく

Re:DirectX SDKを導入したいのですが・・・

Posted: 2010年8月18日(水) 22:37
by ISLe
> fatal error C1083: include ファイルを開けません。'dxerr9.h': No such file or directory
> とか出ました。
> だからエラー箇所をコメントアウトしてみたりしましたがそしたらエラーが262も出たのでもう分かりません。

申し訳ない。
ここはDirectX SDKのバージョンアップで更新された箇所のひとつです。
dxerr9.hをDxErr.hに変更してください。
あとからDXGetErrorString9が見付からないというエラーが出たらDXGetErrorStringに変更してください。

> 左のツリーってのが見当たりません、すいません。

コンパイル済みヘルプ形式でなくなったのかと思いましたがダウンロードしてみました。
目次から辿ってください、で分かりますか?


> 参考にみなさんがどのようにDirectX SDKを扱えるようになったか教えて欲しいです。
> 解説書(2005や2006のSDKを扱ってる様な)買ったら今回みたいに導入していきなりつまづかないですか?

使うだけならインクルードパスとライブラリパスを設定するだけですから。
つまづいているのはDirectX SDKというより処理系(この場合VC++)の使い方ですよね。

Re:DirectX SDKを導入したいのですが・・・

Posted: 2010年8月19日(木) 18:33
by ボビー
皆さん解答していただいて本当にありがとうございます。

------------------------------------------------------------------------
dicさん
> stdafx.h をはずして サンプルをコピー&ペーストしてコンパイルできるように
> もっていくのがいいです
> あと、SDKをインストールしたら、lib,h,ファイルのディレクトリの設定もお忘れなく
すいません、「はずす」や「サンプルをコピー&ペースト」や「lib,h,ファイルのディレクトリの設定」っていうのは具体的に何をどうすればいいか教えて欲しいです。


--------------------------------------------------------------------------
ISLeさん お手数かけてすいません、ありがとうございます。
> ここはDirectX SDKのバージョンアップで更新された箇所のひとつです。
> dxerr9.hをDxErr.hに変更してください。
変更してビルドやってみたらdxerr9.hの点はクリアできましたが
: include ファイルを開けません。'dmusici.h': No such file or directory
と出てきてしまいました。
dmusici.hとグーグルで検索したらあるバージョンから何かが変わったらしいんですが
どうすればいいでしょうか?これをクリアしてもまた別のエラーが出て・・・と続いていくんでしょうか?

> コンパイル済みヘルプ形式でなくなったのかと思いましたがダウンロードしてみました。
> 目次から辿ってください、で分かりますか?
英語のヘルプがあったのを見つけたんですがそしたらおっしゃっていただいたように目次がありました。
英語のヘルプなら左に「目次」「キーワード」「検索」「お気に入り」とあるんですが、俺の日本語版だと「検索」しかありません(しかも「無題」しか出ない)、俺のヘルプだけ変みたいですね。何回かダウンロードしなおしても同じだったのでヘルプについてはまた何か別の問題かなと思います。

> つまづいているのはDirectX SDKというより処理系(この場合VC++)の使い方ですよね。
今回は解説サイトのサンプルをビルドした時に起こったエラーで困ってるんですが
だからといって解説サイト(または本)のサンプルなしではとても勉強できない気がします。
WinAPIを学習すればSDKに元から付いてるサンプルでも理解できるでしょうか?
見たこと無い型名や関数やマクロとかいっぱいでなにがなんやらわからない状態です。
できればバージョンが違ってても臨機応変に対処できるようになりたいです。


-----------------------------------------------------------------------
シエルさん
やはりそうですよね
WinAPIからするべきだろうと思ってたんですがちょっとどんなものか見て
おきたいと思って、あんまり焦るもんじゃないですよね。

Re:DirectX SDKを導入したいのですが・・・

Posted: 2010年8月19日(木) 18:39
by シエル
私もボビーさんが見ているサイトをDirectXを勉強する際に見ましたが、
同じくdmusic.hのインクルードエラーが出ました。

どうやら、昔にDirectMusicというものがあったらしいのですが、そのヘッダファイルだったようです。
現在の最新のSDKからは削除されてますので、当然エラーが出ます。

SDKについてる、Direct3DのTutorialsのデバイス作成やらなんやらを一通りやって、
まず理解するべきです。

Re:DirectX SDKを導入したいのですが・・・

Posted: 2010年8月19日(木) 19:01
by ISLe
DirectMusicはWindows SDKに移動しました。
Windows SDKをインストールしてかわりにdmusicc.hをインクルードすれば良いかもしれません。

サイトは細かく見てないのですけどDirectMusicは最初の方に出てくるのでしょうか。
プリコンパイル済みヘッダstdafx.hのことも書いてありますけど。
いきなり背伸びしてませんか?

Re:DirectX SDKを導入したいのですが・・・

Posted: 2010年8月19日(木) 19:10
by シエル
後、そのサイトは自作のクラスやライブラリを使っていた気がするので、
私はすぐそのサイトを離れました。

自作のクラスとかを使って説明されると、あまり中身を知らないままになってしまうので。。

Re:DirectX SDKを導入したいのですが・・・

Posted: 2010年8月26日(木) 16:38
by ボビー
>シエルさん
> SDKについてる、Direct3DのTutorialsのデバイス作成やらなんやらを一通りやって
参考になりました。
とりあえずはWinAPIを勉強していこうと思います。
SDKを考えるのはそれからにしようかと。

>ISLeさん
WindowsSDKをダウンロードしてみたところ
RoxioCreatorDEとかいうのが出てきて・・・よく分からんのでここらで諦めようかと思います。
丁寧に教えてもらってありがとうございました。

解決というわけではないですがみなさんに色々教えていただいて参考になりました。
ここらへんで終わりとします。
みなさんどうもありがとうございました。