0

我无法从主题中做一个场景。

我安装了 DirectX 9 March 2009 SDK,即 9,“sub”-version c,但“sub-sub”-version 是 41,所以 libs (d3dx9.lib d3d9.lib) 将导出链接到 dxd3d_41.dll。

当我尝试在具有 DX9.0c 但从 2009 年 3 月起不可再分发的机器上运行我的应用程序时会发生什么现在很明显:),它失败了,因为它找不到 dxd3d_41.dll。

哪个是这个问题的标准解决方案?我应该如何编译我的应用程序以使所有具有 DX 9.0c 的机器都支持?这甚至可以实现吗?

谢谢

4

3 回答 3

1

您需要安装与您用于编译的 SDK 相匹配的运行时。

强制它在所有安装了 DirectX9c 的机器上工作的唯一方法是使用旧的 SDK(第一个 9.0c SDK)。但是,我强烈建议避免这种情况。最好只使用 March 09,并在安装应用程序的同时安装 March 运行时。

于 2009-06-19T16:33:48.357 回答
1

最简单的解决方案是在您的下载页面上链接到 Microsoft DirectX 最终用户运行时更新程序,并告诉人们首先运行它以确保运行时组件是最新的,然后再安装您的应用程序。

之后,下一个最简单的事情是将必要的运行时更新程序与您的应用程序捆绑在一起,并让用户在运行安装程序之前运行它。

所有这些都记录在 SDK 文档中。

于 2009-07-18T09:15:17.497 回答
0

规则是,如果您链​​接到 d3dx9,那么您应该确保已安装所需的 redist 运行时组件。

查看 DXSDK 文档中的“面向游戏开发人员的 DirectX 安装”页面。

于 2009-06-22T10:36:19.297 回答