電子書籍の厳選無料作品が豊富!

C/C++初心者のものです。
私は 家のvista と visual Studio 2008 Express Editionを使って、DirectX9のプログラムを作っています。
ベータ版でもそうだったのですが、部活用にある
.xp + visual Studio 2005 
.vista + visual Studio 2005 
のパソコンでは
「アプリケーション構成が間違っています」
というようなことを言われ(正確には覚えていません。済みません…。)
そして部活用のvisual Studio 2005でコンパイルしなおすと家のパソコンで
「d3dx9_36.dllが見つからなかったため、このアプリケーションを開始できませんでした。…」
と出てきます。
これはOSの問題もあるのでしょうか?
製品版の購入もこれでは拒んでしまいます。
このエラーの理由は何ですか?
どうすれば解決できますか?
教えてください。お願いします。

A 回答 (4件)

たくさんのエラーですか.


そこでエラーは出たことがないので,分かりかねますね...

以下のリンクにスタティックリンクした場合のビルドエラーについて載っています.
もしかしたら参考になるかもしれません.
http://www.g-ishihara.com/mfc_ge_01.htm

これで解決するといいですね.
    • good
    • 0

Managedのアプリでしょうか。


2008ではプロジェクトのプロパティで.NETフレームワークの構成を選択できますので、2005と合わせるには.NETフレームワークのバージョン2.0を選択してください。
#2005のほうはSP1を当てる必要があるかもしれません。

d3dx9_36.dllについては既に回答がありますが、使用しているDirectX SDKのバージョンが異なるためです。

さまざまなバージョンが存在するので、開発するときの環境と実行するときの環境を揃えるように意識してください。
例えばゲームソフトなどを配布する場合、VisualStudioやDirectX SDKが入っていない利用するだけのユーザーに対して、実行するためにどのような環境をどのように整えたら良いか面倒を見るのは開発者の責任です。

この回答への補足

見ただけでは話についていけなかったのですが・・・

「.NETフレームワークの構成を選択できますので、2005と合わせるには.NETフレームワークのバージョン2.0を選択してください。」
ここの詳しい方法を教えてほしいです。
プロパティで開いても灰色の文字ばかりでどう変えるのかがわかりません。
とりあえず「参照のフレームワーク」はバージョン2.0になっていました。

補足日時:2008/01/09 22:46
    • good
    • 0

正確なところがわからないと正確な回答はできません。



とりあえず、以下のエラーメッセージについて
「d3dx9_36.dllが見つからなかったため、このアプリケーションを開始できませんでした。…」

こちらは、そのままなんですけどね。
DirectXのSDKは2ヶ月だったか3ヶ月だったかに1度アップデートされます。
一部挙動が変わったり、機能が追加されたりすることがあるため、DLLが別途用意されます。

つまり、開発環境が、d3dx9_36.dllを使うようにコンパイルしているのに、実行環境のDirectXが古いために、例えばd3dx9_30.dllまでしかないとなると、当然必要なdllがないということになり、実行できません。

同じバージョンになるように開発環境の設定を変更するか、最新のDirectXを入れてください
    • good
    • 0
この回答へのお礼

わかりました。
古いものを使うと実行もできないのですね。
すみませんでした。

お礼日時:2008/01/09 22:40

「アプリケーション構成が...」


の場合には、MFC ライブラリをスタティックビルドすれば解決したような記憶があります。

[プロジェクトのプロパティ] - [構成プロパティ] - [全般] - [MFC の使用] - [スタティックライブラリで MFC を使用する]
にしてビルドしてみて下さい。


「d3dx9_??.dll が見つからない」
と言われた場合は、対象の dll を .exe と同じフォルダか system32 のフォルダに入れれば OK です。
DirectX EndUser Runtimes を入れれば簡単に解決すると思います。

この回答への補足

「[プロジェクトのプロパティ] - [構成プロパティ] - [全般] - [MFC の使用] - [スタティックライブラリで MFC を使用する]
にしてビルドしてみて下さい。」
やってみましたが、リンクするところでエラーやワーニングがたくさん出てしまいます。なぜでしょう?

補足日時:2008/01/09 22:34
    • good
    • 0

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