というわけで、まともにDirectXについて書くのは今回からです。手始めに、一番基本的なプログラムのビルド方法をやってみましょう。 一番基本的というわりには、一番重要だったりするのがビルドです。ビルドが出来なければ当然プログラムが動かないわけで、せっかくの苦労が水の泡だったりします。ここで書く事は重要なので、出来ればメモするかマスターするか、毎晩寝る前に布団の中で30回ほど暗唱しましょう。声を出してはいけません。馬鹿にされます。 冗談はこれぐらいにして、本編に入りましょう。DirectXのプログラムを書いていて、コンパイル出来ない、又はビルドできない、というのは幾つかの理由があります。 ・構文エラーがある ・不正処理の実行 ・ライブラリを読み込んでいない と言った所でしょうか。構文エラーは関数名を間違えたり、”}”や”;”を忘れたり。不整処理は文字列操作のミスや配列、ポインタのミス。まあ、Cをやったことのある人なら解るだろうし、そこらへんが解らない人がDirectXに手を出すとも思えないので、とりあえず省略します。ただし、構文エラーでもエラー表示次第で全く解らなくなる事が多いことには注意しましょう。 それでは、プログラムがちゃんと書けていて、ビルドが出来ない場合。・・・というよりは、DirectXでプログラムを書くときにまず最初にやるべき事。サーチパスの設定と、ライブラリの追加です。順を追って、まずはサーチパスの設定から。 メニューバーから、[ツール→オプション]を選び、出てきたウィンドウの中から[ディレクトリ]と書かれたタブを選びましょう。ここまでが出来なかった人は近所のハッカーの人に助けてもらいましょう。 ハッカーさんの助けが無くても出来た人は、左のような画面になっているはずです。VCのバージョンによって表示が微妙に違いますが、その辺は自分で補って下さい。 画面中の[表示するディレクトリ]から、[インクルードファイル]を選択します。下のディレクトリ一覧が更新され、VCのインクルードファイルが置かれているディレクトリが書かれています。この欄に、DirectXSDKのインクルードファイルのディレクトリを追加します。私の場合は、上の画面の通り、 [C:\Program Files\mssdk\include] となっています。人により設定は違うので、その点は注意して下さい。ちなみに、デフォルトでSDKをインストールした場合、 [C:\mssdk\include] だったと思います。 ディレクトリを書き終わったら、そのディレクトリをリストの再上段に移動します。Visual C++では、インクルードファイルをサーチする際に、上段のフォルダからサーチするので、記入したフォルダを最上段に置かないと「DirectXのインクルードファイルを見つけられない」とVC++に怒られてしまいます。「機械の癖に生意気だぞ、この野郎!!」等とパソコンのモニタに向かってキレる前に、ちゃんと設定してあげましょう。 同様に、[表示するディレクトリ]を[ライブラリファイル]に変えて、ライブラリの追加を行います。デフォルトパスは [C:\mssdk\lib] となります。これは、名前のとおりライブラリファイルのパスの設定です。パスを設定したら、先ほどと同様に最上段に移動しましょう。 以上2つの操作でビルド時のサーチパスの設定は終了です。サーチパスの設定は一度行うと記録されるので、他のファイルを開いたときに設定し直す必要はありません。 しかし、次のライブラリの追加は毎回行う必要があります。必要なライブラリ名をテキストファイルに書いておけば、そこからコピー&ペーストで使いまわしが効きます。 メニューバーから、[プロジェクト→設定]を選び、そのウィンドウ中のタブから[リンク]を選択し、上のような画面を表示してみましょう。ここには、プロジェクトをビルドする際に必要なライブラリ名が[オブジェクト/ライブラリモジュール]の欄に書かれています。実際は使われていないライブラリが多いのですが、取りあえず今回は追加のみです。間違えて消した場合は新たにプロジェクトを作りましょう。 [オブジェクト/ライブラリモジュール]の欄に, ddraw.lib d3drm.lib の2つを追加します。各ライブラリ名の間は半角スペースです。忘れないようにしましょう。 今回はDirect3D RMを使うので、d3drm.libを使います。また、Direct3D RMはDirectDrawを使うのでddraw.libが必要です。他のDirectXのプログラムを作る場合は他のライブラリが必要になります。その辺は、臨機応変にいきましょう。柔軟性は大事です。 以上で設定が終了しました。やってみると意外と簡単です。ここまでやってもビルドできない人は、 ・DirectXが正しくインストールされているか ・ビデオカードのドライバは最新のものか ・プログラム上に誤りが無いか を、改めて確認しましょう。ちなみに、私はプログラムのミスに気づかず、1月近く散々悩んだことがあります。いやあ、今となってはいい思い出だ・・・(汗 まとめ ・SDKをインストールしたら真っ先にサーチパスの設定を行う ・ライブラリの追加はプロジェクトごとに行う ・自分のプログラムを過信しない(反省してます・・・) 電脳館 written by みや Last Update 2000.10.31 |