针对 March09SDK 编译 DX 9.0c 应用程序 => 无法与旧版 DX 9.0c DLL 一起运行 => 问题 :)

发布于 2024-07-25 04:49:03 字数 334 浏览 4 评论 0原文

我无法根据主题做一个场景。

我安装了 DirectX 2009 年 3 月 9 日的 SDK,即 9,“sub”版本 c,但“sub-sub”版本为 41,因此库 (d3dx9.lib d3d9.lib) 将导出链接到 dxd3d_41.dll。

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

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

谢谢

I'm unable to do a scenario from subject.

I have DirectX 9 March 2009 SDK installed, which is 9, "sub"-version c, but "sub-sub"-version is 41, so libs (d3dx9.lib d3d9.lib) are linking exports to dxd3d_41.dll.

What happens when I try to run my app on machine which has DX9.0c but not redistributable from march 2009 is now obvious :), it fails because it cannot find dxd3d_41.dll.

Which is standard solution for this problem?
How Am I supposed to compile my app to be supported by all machines having DX 9.0c?
Is that even achievable?

Thanx

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

冷…雨湿花 2024-08-01 04:49:03

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

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

You need to install the runtime that matches the SDK you use to compile.

The only way to force this to work on ALL machines with DirectX9c installed is to use an old SDK (the first 9.0c SDK). However, I strongly recommend avoiding this. You are much better off just using March 09, and install the March runtimes along with your application installation.

眼睛会笑 2024-08-01 04:49:03

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

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

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

The simplest solution is to link to the Microsoft DirectX end-user runtime updater on your download page and tell people to run this first to make sure that the runtime components are up to date before installing your application.

After that, the next simplest thing is to bundle the necessary runtime updater with your application and have users run it before running your installer.

All of this is documented in the SDK documentation.

深陷 2024-08-01 04:49:03

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

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

The rules are that if you link to d3dx9 then you are expected to handle making sure that the required redist runtime components are installed.

Have a look at the page 'DirectX Installation for Game Developers' in the DXSDK docs.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文