c++ - 调试 DirectX 11 程序时缺少 DLL (d3dx11d_43.dll)

标签 c++ dll directx

我刚刚开始 DirectX 开发,我只是想初始化程序并呈现蓝屏。该程序可以编译,但立即出现错误“该程序无法启动,因为您的计算机缺少 d3dx11d_43.dll。请尝试重新安装该程序以解决此问题。”

我已经安装并重新安装了 DirectX June 2010 SDK,我在安装文件夹中发现了 2 个同名的 DLL 实例,但我的程序似乎找不到它。

我在 64 位 Windows 8 上运行 VS 2012 Ultimate。

最佳答案

D3DX 不是标准 DirectX 安装的一部分。如果您依赖 D3DX,那么您必须在每台运行您程序的机器上单独安装它。 DirectX SDK 包括用于 D3DX 的可再分发包。如果您重新分发您的程序,这是您需要解决的问题。

与此同时,您的程序似乎正在链接到 D3DX 的调试版本。我不确定这是否是您故意的。您可能只需将 d3dx11d_43.dll 复制到包含您的可执行文件的目录中,即可让您的程序运行。这可能足以用于调试目的。如果您不需要调试 DLL 本身,而我怀疑您是否这样做,那么使用 D3DX .lib 文件的发布版本将链接到我认为已经安装在您的系统目录中的发布 DLL。

关于c++ - 调试 DirectX 11 程序时缺少 DLL (d3dx11d_43.dll),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21206237/

相关文章:

c++空队列初始化在Qt Creator中不为空

winforms - 如何提高启动时引用的 dll 的加载性能?

azure - 从 Azure Blob 存储中的 DLL 创建 USQL 程序集

c++ - SetDisplayMode(XRes, YRes, 16 对 32, 0, 0)

audio - 不能包含XACT3 header

c++ - 基于模板C++创建转置矩阵函数

c++ - 为什么我只能通过_getch()才能成功ESC?

c++ - WIN32 套接字 API : Canceling Send/Recv on socket using event-based completion notification

c# - 如何在C#中调用C++ DLL

Mono 中的 Objective-C