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

我也尝试找到一些依赖项,但是依赖项walker 崩溃并出现一些错误。所以我在 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

最后三件事是什么?我还可以做些什么?

// 编辑

该应用程序是使用 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 时它总是显示:程序 xyz 已停止工作。Windows 可以在线找到此问题的解决方案。查找/关闭/调试按钮。)

也许它与MFC有关?

4

1 回答 1

1

您需要在用户系统上安装DirectX End-User Runtime(与您的开发环境匹配的正确版本)以及Microsoft Visual C++ Runtime ,而不是仅仅复制这些 DLL 。

于 2013-02-01T22:02:45.547 回答