I have a similar issue to this question. I'm building a DLL that's dependent on several other DLLs. Naturally, everything works when compiled in debug mode, on the machine where VS2012 is installed. I've then started to compile all dependencies in release mode, creating the release DLLs.
When I deploy them on a fresh Windows 7 machine with the Visual C++ Runtime installed, the main DLL doesn't load because it still asks for MSVCR110D.dll
.
DependencyWalker shows me this (sorry for the censoring, I can't show the names, but I left the r
suffix for release mode builds):
As you can see, it references the release version of the Visual C++ runtime. Even going down the entire tree of dependent DLLs, there are only references to the release runtime DLLs:
There is one delayed-loaded DLL that references MSVCR80.dll
, but it's never actually loaded in practice, and that's also not the error I'm getting.
The question is: How do I find out why it still depends on the debug runtime? Which DLL, which function call is responsible for that? What tools and what steps can I use to track it down, if not through DependencyWalker?