Вам нужна опция компоновщика --whole-archive
, чтобы включить все статические архивы:
gcc -shared -o libwhatever.so -Wl,--whole-archive -lstatic -Wl,--no-whole-archive
-Wl
необходим, потому что --whole-archive
является опцией компоновщика.
Чтобы сделать это, код в libstatic.a должен быть правильно скомпилирован для использования в общем объекте (т. Е. С -fpic
на платформах, которым это требуется).