DX development in win8 with win8 SDK RRS feed

  • Question

  • I setup the newest Win8 SDK. When I run a DX sample which run very well in win7 (I setup DXSDK_Jun10), it shows message as follows in win8 32bit system (with out DXSDK_Jun10). The project run very well in win8 64bit system (with out DXSDK_Jun10).

    "The program can't start because D3DCOMPILER_46.dll is missing from your computer.Try reinstalling the program to fix this problem."

    after it, I have press OK button to quit.


    I don't know why. who can help me?

    Is DXSDK in Win8 SDK is not enough?

    P.S. : I find it loads  D3DCOMPILER_45.dll in win8 64bit system and it loads D3DCOMPILER_46.dll in win8 64bit system.
    The path of this dll is "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64\D3DCompiler_45.dll" in win8 64bit.
    The path of this dll is "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\D3DCompiler_46.dll" in win8 32bit, but I really find D3DCompiler_45.dll in this path.

    How can I solve this problem?



    Tuesday, November 6, 2012 10:35 AM


  • Ok, so you likely have a couple of issues happening here.

    The Windows 8.0 SDK includes D3DCompiler #46, but it does not install it to the %WINDIR%\System32 folder like the older DirectX SDK did. Instead, you are expected to copy the D3DCompiler_46.DLL from the Windows 8.0 SDK folder Redist\D3D\<arch> into your application folder and deploy it 'application local' with the rest of your Win32 desktop application. In fact, the last version of the D3DCompiler that should be present in %WINDIR%\System32 is #43.

    D3DCompiler #45 was from the Windows 8.0 SDK Release Preview and VS 2012 RC, which means at least one of those builds is using hte prerelease version of d3dcompile.h.


    Tuesday, November 6, 2012 6:42 PM