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