What is the equivalent of Linux\'s ldd
on Windows?
or the GNU tool :
i586-mingw32msvc-objdump -p *.exe | grep 'DLL Name:'
There is now an ldd
in Cygwin. If you have a very old Cygwin version, you will have to use cygcheck
.
For Windows 10 you can use Dependencies - An open-source modern Dependency Walker
https://github.com/lucasg/Dependencies
For windows 10, with visual studio 2017, I go in the search bar of windows and type:
"developer Command Prompt for VS 2017" ( a special cmd.exe for Visual studio developer)
This allows to get access to DUMPBIN that should be used with the \IMPORTS tag. For example, in the correct directory:
DUMPBIN \IMPORTS yourfile.exe (others extension may work too)
For me, this list the DLL and the functions used.
Alternatively, you can use the tag \ALL that is much more verbose.
see the microsoft explanation of DUMPBIN:
https://docs.microsoft.com/en-us/cpp/build/reference/imports-dumpbin?view=vs-2019
Example ( with only a part) of the content sended back by the command
The dumpbin
command can be useful for many things, although in this case dependency walker is probably a little more verbose.
dumpbin /dependents some.dll
Example output:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Team Tools\Static Analysis Tools>dumpbin /dependents StanPolicy.dll
Dump of file StanPolicy.dll
File Type: DLL
Image has the following dependencies:
mscoree.dll
Summary
2000 .reloc 2000 .rsrc 1E000 .text
Newer versions of Git on Windows come packaged with something called Git BASH, which emulates many useful Unix commands including ldd.
It appears that it reports only libraries that can be found. So you can use this to get an overview of where the used libraries are located, but not which are missing.