Есть библиотека libcommon, которую я собираю через qmake, используя следующие флаги для линковки:
CONFIG += link_pkgconfig
PKGCONFIG += gsoap++
ldd ./libcommon.so
linux-vdso.so.1 => (0x00007ffdfe3e7000)
libgsoap++.so.4 => /usr/lib/x86_64-linux-gnu/libgsoap++.so.4 (0x00007f3682c39000)
...
Есть приложение, которое использует libcommon и функции из libgsoap++. Если просто попробовать слинковать с libcommon, то получаю error adding symbols: DSO missing from command line
. Ошибка исправляется добавлением gsoap++ в параметры линкера. Теперь вопрос: почему так происходит? libcommon уже ведь слинкована с libgsoap++, почему нужно указывать её ещё раз для приложения?