Здравствуйте.
Приложение состоит из нескольких проектов - основной проект и статические библиотеки. В одной из статических библиотек есть .cpp-модуль следующего содержания:
#include <QDir>
bool init()
{
Q_INIT_RESOURCE(myqrc);
return true;
}
const bool inited = init();
Замысел в том, чтобы вызвать функцию init() сразу после загрузки программы в память (на этапе инициализации глобальных переменных). Замечу, что переменная inited нигде (ни в коде этой библиотеки, ни в коде других библиотек или основной программы) не используется. В итоге понял, что данный модуль в программный код после сборки прилоги просто не попадает, так как под отладчиком не срабатывают бряки ни на строке с объявлением переменной, ни на строках тела функции. После добавления в модуль любого кода, используемого за его пределами, переменная начинает "срабатывать". Все тесты проводил на отладочной (Debug) сборке.
Вопрос: имеет ли здесь место какая то оптимизация и как ее отключить? Если нет, то в чем дело?
Среда сборки: MSVS2013, версия Qt: 5.3.1.