Can't find d3dcompiler_43.dll for DirectX programming


  • I am trying to learn DirectX Programming. But I have hit a snag.

    I seem to be missing this file: d3dcompiler_43.dll

    I have installed (in this order):

    1. Visual Studio 2012
    2. Windows 8
    3. Windows Phone 8 SDK
    4. Windows 8 SDK

    I figured I need a DirectX SDK, but this link says I do not:

    Starting with Windows 8, the DirectX SDK is included as part of the Windows SDK.

    Should I just install the DirectX Distributable? I am worried that will give me the dll but I will be missing other things too...

    Here is my exact error I am getting:

    Unable to load DLL 'd3dcompiler_43.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

    Update: I ran dxdiag and it says I have DirectX 11 installed... Not sure why I can't make this work.

    Side Question: Where should this file be located?  I did a search on my machine and several other apps have an instance of it (Firefox, Chrome and K-lite codec pack), but the Windows SDK folder does not seem to have any DirectX stuff in it.

    Where should the directX stuff be at?

    • Edited by Vaccanoll Saturday, November 24, 2012 7:49 PM
    Saturday, November 24, 2012 7:40 PM


All replies

  • I found the answer here:

    It says:

    Any project that uses run-time shader compilation must have D3DCOMPILER_46.DLL copied to the local executable path for the project. This DLL is available in this sub-directory of the Windows SDK installation under %ProgramFiles(x86)%\Windows Kits\8.0\Redist\D3D\arch where arch is x86 and x64.

    • Marked as answer by Vaccanoll Saturday, November 24, 2012 10:31 PM
    Saturday, November 24, 2012 10:31 PM
  • Hi,
    Welcome to the MSDN forum.
    Thanks for your post and sharing answer here, it's very great and helpful for other members of community who stuck in similar case.
    Have a nice day.

    Elegentin Xie [MSFT]
    MSDN Community Support | Feedback to us

    Monday, November 26, 2012 2:49 AM