1

VS2010 環境でアプリを実行できます。ただし、スタンドアロンのexeとして機能させることはできません(exeをダブルクリックするだけで実行できます)。必要なファイルがわかりません。

私が持っている追加の依存関係のVSでは:

d3d11.lib
d3dcompiler.lib
d3dx11d.lib
d3dx9d.lib
dxerr.lib
dxguid.lib
winmm.lib
comctl32.lib

これらのファイルを、exe と同じディレクトリにコピーしようとしました。

d3d11.dll
d3dcompier_43.dll
d3dx9d_43.dll
d3dx11d_43.dll

また、いくつかの依存関係を見つけようとしましたが、依存関係ウォーカーがいくつかのエラーでクラッシュします。そこで、InstallShield 2010 で依存関係スキャナーを使用しました。

d3dx11d_43.dll
Microsoft (R) C Runtime Library
Microsoft OLE 2.40 for Windows NT(TM) and Window 95(TM) Operating Systems
VC User gdiPlus RTL X86

最後の3つは何ですか?他に何ができますか?

// 編集

アプリは DirectX SDK June 2010 を使用して作成されているため、DX End User June http://www.microsoft.com/en-us/download/details.aspx?id=8109をインストールしました。

ただし、アプリは VS2010 で動作していますが、スタンドアロンの exe (同じコンピューター上) は動作しないため、SDK があれば (Visual C++ Redist がインストールされていれば) DX エンド ユーザーは必要なかったと思います。それも)。

また、VS2010 経由でセットアップを作成しようとしましたが、これらのファイルがコピーされました。

COMDLG32.dll
d3d11.dll
d3dx11d_43.dll
IMM32.dll
MSIMG32.dll
OLEACC.dll
oledlg.dll

しかし、それでも機能しません (exe をクリックすると、常に次のように表示されます: Program xyz has stopped working. Windows can find a solution to this problem online. Find/Close/Debug buttons.)

多分それはMFCの何かですか?

4

1 に答える 1

1

これらの DLL をコピーするだけでなく、 DirectX エンド ユーザー ランタイム(開発環境に一致する正しいバージョン) とMicrosoft Visual C++ ランタイムをユーザーのシステムにインストールする必要があります。

于 2013-02-01T22:02:45.547 に答える