Я использую С++-библиотеку, которая может быть создана как для общей, так и для статической библиотеки. Эта библиотека использует технику factory, где статические объекты регистрируются при запуске программы и создании статических объектов.
Это работает отлично, пока используется разделяемая библиотека. Когда статическая версия используется, ни один из статических объектов не включается в финальную программу (потому что на них не ссылаются напрямую), и поэтому их функциональность недоступна.
Есть ли способ заставить gcc включать все статические объекты из библиотеки при связывании?
Библиотека - это Open Source, и я могу ее изменить, если это помогает.