Как узнать, от каких DLL зависит исполняемый файл?
В системах с цепочкой инструментов разработки GNU (gcc
и c) я использую для этого ldd
, но как насчет систем clang
, таких как, например, Mac OS X (в которой нет ldd
)?
Как узнать, от каких DLL зависит исполняемый файл?
В системах с цепочкой инструментов разработки GNU (gcc
и c) я использую для этого ldd
, но как насчет систем clang
, таких как, например, Mac OS X (в которой нет ldd
)?
В Mac OSX вы должны использовать otool -L
вместо ldd
. Это работает независимо от того, какой компилятор вы использовали. В других операционных системах могут быть и другие инструменты; например в Windows вы бы использовали Dependency Walker
.
greadelf
из MacPorts, а также nm
: unix.stackexchange.com/ a/418357/43390, также относится к: stackoverflow.com/q/45464584/1959808. При попытке otool -L
для исполняемого файла Linux возникла ошибка объект не является типом файла Mach-O..
- person Ioannis Filippidis; 30.05.2021
ldd
? ОС должна иметь возможность определять необходимые библиотеки, поэтомуclang
иgcc
должны делать почти одно и то же. - person MSalters   schedule 16.05.2014ldd
- person sds   schedule 16.05.2014otool -L
. То, что я не смог сделать, заключалось в том, что компилятор не имеет значения (есть порт gcc для MacOSX) - person MSalters   schedule 16.05.2014