locked
DX development in win8 with win8 SDK

    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?

    thx.

     

    Tuesday, November 6, 2012 10:35 AM

Answers

  • 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.

    http://blogs.msdn.com/b/chuckw/archive/2012/05/07/hlsl-fxc-and-d3dcompile.aspx

    Tuesday, November 6, 2012 6:42 PM