What is the equivalent of Linux's ldd on windows?

WindowsLinkerShared LibrariesLddDependency Walker

Windows Problem Overview


What is the equivalent of Linux's ldd on Windows?

Windows Solutions


Solution 1 - Windows

Here is Dependency Walker.

http://dependencywalker.com/

Solution 2 - Windows

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

Solution 3 - Windows

or the GNU tool :

i586-mingw32msvc-objdump -p  *.exe    | grep 'DLL Name:'

Solution 4 - Windows

If you're using wine and not real Windows, you can use WINEDEBUG=+loaddll wine <program>.

Solution 5 - Windows

There is now an ldd in Cygwin. If you have a very old Cygwin version, you will have to use cygcheck.

Solution 6 - Windows

I guess the Windows Developer way to do this is to use dumpbin /dependents source.exe. If you have Visual Studio installed you can find it here: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\dumpbin.exe.

Solution 7 - Windows

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.

Solution 8 - Windows

For Windows 10 you can use Dependencies - An open-source modern Dependency Walker

https://github.com/lucasg/Dependencies

Solution 9 - Windows

On Windows I use the cmder as terminal for most things (and not powershell/pwsh). For cmder you can simply type "ldd my_executable.exe" and you will see the expected output.

Link to download cmder: https://cmder.net/

Solution 10 - Windows

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionWilliamKFView Question on Stackoverflow
Solution 1 - WindowsDaniel A. WhiteView Answer on Stackoverflow
Solution 2 - WindowsDavid St DenisView Answer on Stackoverflow
Solution 3 - WindowsRzRView Answer on Stackoverflow
Solution 4 - WindowsJanus TroelsenView Answer on Stackoverflow
Solution 5 - WindowsJanus TroelsenView Answer on Stackoverflow
Solution 6 - WindowsJohnnyFromBFView Answer on Stackoverflow
Solution 7 - WindowsMachtaView Answer on Stackoverflow
Solution 8 - Windowsdan.lipsaView Answer on Stackoverflow
Solution 9 - WindowsMalte AhlView Answer on Stackoverflow
Solution 10 - WindowsVia_fx_24View Answer on Stackoverflow