In VS 2005, I can see paths of the libs
linker is searching for by explicitly setting the option in IDE. How to find the where the corresponding dll
is loaded from ?
1>Searching libraries
1> Searching C:\Program Files (x86)\Microsoft Visual Studio 8\VC\lib\msvcrtd.lib:
1> Found _memcpy
1> Referenced in deflate.obj
1> Referenced in gzio.obj
1> Referenced in infback.obj
1> Referenced in inflate.obj
1> Loaded msvcrtd.lib(MSVCR80D.dll)
In the above case, where is MSVCR80D.dll
is coming from ? I searched in the VC directory for the dll and more than 10 results popped up. Is there any easy way to find which one is exactly loaded ?
The DLLs are actually loaded at runtime, not at link time. Actually, native DLLs don't even have to be present in the machine to do the link.
You can see that information running your program in the debugger (usually F5) and the opening the "Modules window" from the "Debug" submenu, IIRC.
Also, you can analyze the executable and try deducing which DLL will be loaded. The best tool for that is, no doubt, the Dependency Walker . It can analyze DLLs too (cool) but it may have troubles with managed DLLs.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.