こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

'd3dx9.lib' が開けません。

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をひらけるようになりますでしょうか。

投稿日時 - 2008-09-27 11:49:14

QNo.4359967

すぐに回答ほしいです

質問者が選んだベストアンサー

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

投稿日時 - 2008-09-27 17:53:29

お礼

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

投稿日時 - 2008-09-28 13:43:07

ANo.3

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

d3dx9.libが実際あるか探してみたら?で、その存在するパスがライブラリパスに指定されていますか?
サブフォルダまで検索されないので注意が必要ですが…。
すべてあるならファイルが壊れている可能性がありますね。その場合、どうしようもないです。

投稿日時 - 2008-09-27 12:08:18

補足

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

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

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

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

投稿日時 - 2008-09-27 13:07:51

多分、パスがちゃんと通ってないだけだと思いますよ
もしくは、バージョンが違うか。

な気がします。

投稿日時 - 2008-09-27 11:59:15