Пишу скорей себе, для памяти
Предыстория
Делаем некоторое GUI на QML. Идея в том, что бы программа работала аля браузер - QML файлы грузились по HTTP(S). Сама программа в ресурсах держит основную форму, в которой отображается процесс подключения и загрузки.
Программа имеет опцию, для загрузки QML файлов из локальной папки.
Конец предистории
Обнаружилось, что при release build - тупо не грузится основная форма, которая грузится из ресурсов, как то так:
QFile f(filePath);
if(!f.open(QIODevice::ReadOnly))
{
...
return nullptr;
}
QString qml = f.readAll();
QQmlComponent *component = new QQmlComponent(m_engine, parent);
component->setData(qml.toUtf8().constData(), QUrl::fromLocalFile(path));
Обнаружилось, что в release build тупо грузится пустоая строка...
В release build по умолчанию стоит опция "Enable Qt Quick Compiler" - и QML файлы не сохраняются в ресурсах !!! - видно сохраняется предкомпиленая версия !!!!
Нужно убирать опцию "Enable Qt Quick Compiler"