Get list of static libraries used in an executable


Question

Since ldd lists only the dynamic libraries, is there a way to extract the information about the static libraries used to create the executable?

1
42
5/14/2014 11:09:34 PM

Accepted Answer

ldd <exe filename> shows dynamically linked libraries

nm <exe filename> shows the symbols in the file.

To see which symbols come from static libraries requires running nm against those libraries to get a list of the symbols (functions, etc.) in them, then comparing them to what your list of symbols from nm <exe filename>.

You compare lists with the comm command. See man comm for details.

This was taken from this forum here.

46
4/25/2014 6:57:54 PM

No, the names of the libraries are discarded during the linking process. However, if your executable contains debug information (i.e. it was compiled with the -g flag), you may be able to get information from that.


Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon