1

我正在 DX 10/11 中开发,当我在另一台带有 NV 660 的计算机上尝试代码时,它说找不到 d3dx11d_43。我重新安装了Visual C++ 2012 32/64 bit & DirectX Runtime,但仍然这么说。我认为用户需要安装 SDK 什么的。

我收到无法找到调试信息的警告。
从我所阅读的内容来看,这是因为我有一些依赖于调试相关的东西。不知道是什么。

有没有办法让游戏使用大多数(如果不是全部)DLL 进行编译?我不介意额外的尺寸。许多游戏的内容超过了使用的额外 DLL。

我确实编译为 Release。

编辑: 删除第一个问题,因为没有人回答。

4

2 回答 2

1

您可以将您需要的dll添加到资源文件中,然后将资源文件编译为您的exe文件,最后在运行时解析资源文件以获得您需要的dll。这里有一个类似的问题,你可以看看。

于 2012-10-15T08:58:38.947 回答
0

d3dx11d_43 是 d3dx11_43 的调试版本,当您进行调试构建而不是发布构建时,您的程序会链接到该版本。调试版本不包含在 directx 运行时安装程序中,仅包含在 SDK 中。

该许可证也不允许您分发它。

您应该构建和分发代码的发布版本,或者要求用户安装可能不会那么受欢迎的 SDK!

于 2012-11-14T09:08:07.967 回答