2010-06-03 23 views
0

我有一个简单的3D应用程序,使用MSVC++ 2008 Express在C++和D3D9中编程。几个星期前,我不得不格式化我的硬盘,所以目前没有安装DirectX SDK。如何在没有SDK的机器上运行D3D9程序(已经编译过)?

但是,我发现我在我的项目“调试”文件夹中找到的exe文件没有运行。它给出的错误是:

“此应用程序未能启动,因为找不到d3dx9d_38.dll。重新安装该应用程序可能会解决此问题。”

当然,它在我安装了SDK之后起作用。然后我编译了一个“发布版本”,认为这是解决方案。然后我卸载SDK并尝试运行.exe文件。 仍然给了我错误。

那么如何让这样的.exe文件在没有SDK的机器上运行?

回答

0

我想你不能在没有SDK的情况下运行应用程序。请参阅XBMC,这需要运行SDK。

但是,您可能尝试简单地将您的SDK中所需的dll文件放在与可执行文件相同的目录中。

0

我也跟着解决方案表示here.

我复制了d3dx9_38.dll文件到我的Release文件夹。它仍然没有工作。但是,我将dll文件重命名为“d3dx9d_38.dll”,然后运行。 想知道为什么我必须重命名为文件的调试版本,即使它是RELEASE版本...(madarchod v__v)

+0

呵呵?你说在你的问题,这是一个exe文件来自调试目录... d3dx9d_38.dll肯定是一个调试dll,你不允许分发。针对发布d3d构建。 – Bahbar 2010-06-03 16:13:46

+1

你已经链接到调试D3DX因此你已经将发布DLL重命名为类似于调试DLL的DLL,并且它可以工作(谢天谢地,在那里没有只需要调试的钩子) – Goz 2010-06-03 16:43:12

+0

更改发布版本的链接器设置以链接发布模式DirectX库,而不是调试版 – Alan 2010-06-04 18:12:50

相关问题