Get list of static libraries used in an executable

c, c++, linker, static, unix

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.

Problem

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

Original source