プロが教えるわが家の防犯対策術!

DirectXの事で質問があります。

Microsoft Visual C++ 2008 Express Edition で
Microsoft DirectX SDK (March 2008)の
Matrices.cppというチュートリアルのコードを実行したのですが、
1>LINK : fatal error LNK1104: ファイル 'd3dx9.lib' を開くことができません。
とのエラーがかえってきます。


DirectX エンドユーザー ランタイム (March 2008) も
DirectX エンドユーザー ランタイム ウェブインストーラも
インストールしましたけれども、解決できません。

ツール オプション
で、インクルードファイルとライブラリも
DirectX SDK (March 2008)のインクルードとライブラリのパスを指定しました。

プロパティでd3d9.lib d3dx9.lib winmm.libを
追加依存ファイルに設定してます。

それでも、'd3dx9.lib' を開きたくないそうです。

どのようにしたら、Matrices.cppを実行できますでしょうか。
できれば、d3dx9.libも開けるようにしておきたいのですが、
どのようにしたら、d3dx9.libをひらけるようになりますでしょうか。

A 回答 (3件)

x86はIntelの8086系CPU及びその互換CPUを指します。


現状では32bit CPUです。

x64はIntel互換の64bit CPUを指します。
x86系のCPUではx64向けにビルドされたプログラムは実行できません。
逆は多分可能です。
WinXPはx86向けのバージョンとx64向けのバージョンがあります。
x64系のCPUでもx86向けのWinXPは動作するはずですが、x86としての
機能と性能しか使えません。
プログラムもx86用にビルドされたものしか実行できません。

現状では、x86をターゲットにした方がいいと思います。
お使いのOSでx64用のプログラムが動作するならそれでもいいのですが
一般的にはまだx64は普及していません。
普通に使用できる環境の方が少ないでしょう。

http://ja.wikipedia.org/wiki/80x86
http://ja.wikipedia.org/wiki/Intel_64
    • good
    • 0
この回答へのお礼

x86とかx64って、CPUの事だったのですね。
リンクもわかりやすかったです。
ありがとうございました。

お礼日時:2008/09/28 13:43

d3dx9.libが実際あるか探してみたら?で、その存在するパスがライブラリパスに指定されていますか?


サブフォルダまで検索されないので注意が必要ですが…。
すべてあるならファイルが壊れている可能性がありますね。その場合、どうしようもないです。

この回答への補足

おかげさまでできました。
サブフォルダまで、検索されなかったのですか!

ライブラリのフォルダには、x86とx64があるのですが、
どっちを選んでも、できたのですけれども、
正確には、どちらを指定したらよろしいでしょうか。

PCのOSはWindowsXPです。
x86って、なんか、古いイメージがあって、
最近、Windows x64って言葉があるらしいので、
XPの場合は、x64でしょうか・・・。

それぞれの用途を教えていただけると助かります。

補足日時:2008/09/27 13:07
    • good
    • 0

多分、パスがちゃんと通ってないだけだと思いますよ


もしくは、バージョンが違うか。

な気がします。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!