Dynami c ссылки библиотек с gcc - PullRequest
1 голос
/ 17 апреля 2020

Случай 1:

У меня было 3 разных проекта, связанных как g cc:

ProjectA.so  <--- Dynamic link --- ProjectB.so <--- Dynamic Link --- ProjectC (App)

Для использования B проект C просто должен был динамически связывать B (-lProjectB).

Случай 2:

Затем я разделил библиотеку A на 2 библиотеки so / DLL: A1 и A2 (с A2, используя A1). Здесь, если B или C ссылаются только на A2, это больше не работает.

ProjectA1.so: error adding symbols: DSO missing from command line

Итак, мой вопрос: Нужно ли связывать библиотеку, используемую внутри, с помощью библиотеки, которую мы связываем?

Почему иногда это работает (случай 1), а иногда нет (случай 2)? Есть ли общее правило об этом ??

Большое спасибо!

...