Q_COREAPP_STARTUP_FUNCTION внутри статической библиотеки

Qt имеет Q_COREAPP_STARTUP_FUNCTION макрос для регистрации функции, которая будет вызываться как часть QCoreApplication конструктор. Это прекрасно работает, если используется внутри приложения или динамически связанной библиотеки. Однако функция не выполняется, если используется внутри статической библиотеки.

Насколько я понимаю, этот макрос создает статический класс, в конструкторе которого метод передается в платформу Qt. Но поскольку этот класс нигде не используется, компоновщик просто исключает его при связывании конечного приложения.

Вопрос здесь: верно ли мое предположение? И есть ли способ сказать компилятору не исключать такой экземпляр? Дело в том, что я не знаю, используется ли и сколько, и поэтому нецелесообразно ссылаться на них явно. Требуются решения для всех компиляторов (msvc, gcc, clang).

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]