C++ Can';找不到用于DirectX编程的d3dcompiler_43.dll
我正在努力学习DirectX编程。但我遇到了一个障碍 我似乎缺少此文件:d3dcompiler_43.dll 我已安装(按此顺序):C++ Can';找不到用于DirectX编程的d3dcompiler_43.dll,c++,windows-8,visual-studio-2012,directx,windows-runtime,C++,Windows 8,Visual Studio 2012,Directx,Windows Runtime,我正在努力学习DirectX编程。但我遇到了一个障碍 我似乎缺少此文件:d3dcompiler_43.dll 我已安装(按此顺序): Visual Studio 2012 视窗8 WindowsPhone8SDK Windows8SDK 我想我需要一个DirectX SDK,但上面说我不需要: 从Windows 8开始,DirectX SDK作为Windows SDK的一部分提供 我应该只安装DirectX可分发的吗?我担心这会给我的dll,但我会错过其他东西太 下面是我得到的确切错误: 无法加
dxdiag
,它说我安装了DirectX 11。。。不知道为什么我不能做到这一点。我在这里找到了答案:
它说:
任何使用运行时着色器编译的项目都必须将D3DCOMPILER_46.DLL复制到该项目的本地可执行文件路径。此DLL位于Windows SDK安装的子目录%ProgramFiles(x86)%\Windows Kits\8.0\Redist\D3D\arch下,其中arch为x86和x64
如果你安装了Chrome,这里有一个屠夫:
C:\Users\<USER>\AppData\Local\Google\Chrome\Application\26.0.1410.64
C:\Users\\AppData\Local\Google\Chrome\Application\26.0.1410.64
您需要安装最新的DirectX
有关D3DCompile的详细信息,以及如何分发各种版本的D3DCompile
简言之:
- #43和更早版本由传统DirectX最终用户运行时Redist(又称DirectSetup)部署
- #46由VS 2012/Windows 8.0 SDK安装,并与Win32桌面应用“并排”部署
- #47由VS 2013/Windows 8.1 SDK安装,可以与Win32桌面应用“并排”部署,但它也包含在Windows 8.1操作系统中
d3dcompiler_47.dll
,而不是d3dcompiler_43.dll
:(太晚了-DX 2010年6月redist安装在您响应时正在运行,现在该程序运行良好:)。(顺便说一下,复活节周末刚刚发布了一个演示,值得一看)有趣的是,在windows 8上,我在windows 8.1上遇到了这个错误,我不明白。文件夹中缺少文件。所以这些信息并不完全正确。我很好奇,这实际上解决了你的问题,还是“你能找到的最佳解决方案”?在我的例子中,它给出了完全相同的错误代码(它调用的是43.dll,而不是46.dll),而较新的版本不会修复它。我必须返回并从旧的directX安装中获取43.dll。缺少的特定版本OP将无法从您提供的链接中安装。我从2010年开始将该文件的来源追溯到“Legacy DirectX”。最新的版本不再包含它了,正如我后来测试的那样,它带来了很大的不同。这对我帮助很大,因为这正是这个错误所要求的。Windows 10上MonoGame上的d3dcompiler_43.dll出现此错误。安装DirectX最终用户运行时解决了这一问题。谢谢