Missing dll error

I installed Visual Studio Express 2012 and recompiled Urho3d and my project without problems, but when I try to run the project I get an error: missing D3DCOMPILER_46.dll. This project was working well when I tested it using VC++ 2010. How can I solve this?

You need to copy the D3DCOMPILER_46.dll to Bin directory. This has been documented in urho3d.github.io/documentation/H … ng_Shaders.

According to https://docs.microsoft.com/en-us/windows/win32/directx-sdk--august-2009-

The D3DCOMPILER_46.DLL or D3DCOMPILER_47.DLL from the Windows SDK is not a system component and should not be copied to the Windows system directory. You can redistribute this DLL to other computers with your application as a side-by-side DLL.

So it should be part of a pre-build urho although it is clearly missing from “3D9” bulild in https://sourceforge.net/projects/urho3d/files/Urho3D/1.7.1/

Why are you still using 1.7.1?

Yes. Is it fixed in 1.8?

I think Git version does not have any missing thing.
Why not using cmake and build static lib.

I do not recall our build script ever attempts to copy this DLL on developer behalf. Although I agree it could be made automatic on Windows build environment. PR is welcome.

On post build in visual studio you can execute batch command. So it is possible to copy automatically after build.