LINUX.ORG.RU

Вопрос по линковке

 ,


0

1

Есть библиотека 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++, почему нужно указывать её ещё раз для приложения?

★★★★★

Естественно ты должен явно линковаться с каждой библиотекой, символы из которой используешь.

slovazap ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.