Search code examples
c++cunixstaticlinker

Get list of static libraries used in an executable


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


Solution

  • 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.