Из того, что я понимаю в описании вашего проекта, вы должны динамически связывать Lib_A: если вы статически связываете Lib_A с каждой из ваших общих библиотек Lib_Bx, вы дублируете x раз код Lib_A и статические переменные.
Скажите, если у вас есть класс в Lib_A, который имеет вид:
class BaseKlass
{
static int instance_count;
...
};
instance_count
будет продублирован во всех ваших общих библиотеках, что сделает невозможным для BaseKlass
подсчет его экземпляров.
Возможно, вас укусили более тонкие проблемы с виртуальными таблицами или RTTI (dynamic_cast) и т. Д.
Вам следует взглянуть на этот boost.python документ , в котором описываетсяпроблемы, связанные с тем, что я упомянул.
Boost.python позволяет создавать модули Python (динамические библиотеки), которые должны загружаться в одном и том же процессе.Каждый модуль python, созданный с помощью boost.python, если они должны взаимодействовать друг с другом на уровне c ++, например, выводить класс B в модуле из класса A в другом модуле, должен динамически связываться с библиотекой boost.python, чтобы избежать проблем.