How do I find out what DLLs an executable depends on?
On systems with the GNU development toolchain (gcc
&c) I use ldd
for that, but what about the clang
systems, like, e.g., Mac OS X (which does not have ldd
)?
How do I find out what DLLs an executable depends on?
On systems with the GNU development toolchain (gcc
&c) I use ldd
for that, but what about the clang
systems, like, e.g., Mac OS X (which does not have ldd
)?
On Mac OSX, you'd use otool -L
instead of ldd
. This works regardless of the compiler you used. Other operating systems may have yet other tools; e.g. on Windows you'd use Dependency Walker
.
greadelf
from MacPorts can be used, as well as nm
: unix.stackexchange.com/a/418357/43390, also relevant to: https://mcmap.net/q/475972/-macosx-which-dynamic-libraries-linked-by-binary/1959808. When trying otool -L
for a Linux executable, an error was raised "object is not a Mach-O file type.". –
Sansone llvm-readelf ---needed-libs
is the clang analogue of ldd. Here's is the official documentation
~/weechat $ llvm-readelf --needed-libs bin/weechat
NeededLibraries [
libc.so
libcurl.so
libdl.so
libgcrypt.so
libgnutls.so
libgpg-error.so
libiconv.so
libm.so
libncursesw.so.6
]
© 2022 - 2024 — McMap. All rights reserved.
ldd
? The OS must be able to figure out the libraries needed, soclang
andgcc
mustdo pretty much the same thing. – Concertedldd
– Muriateotool -L
. The point I failed to make was that the compiler doesn't matter (there's a gcc port for MacOSX) – Concerted