Название: Плагины Qt: падение при загрузке Отправлено: Странник от Февраля 15, 2013, 10:23 Добрый день.
В детали процесса загрузки плагинов Qt не погружался и, к сожалению, не имею пока времени. Возможно, кто-нибудь подскажет. Итак. Существует Qt-программа со встроенной системой автообновления. Алгоритм обновления такой: 1) старые файлы переименовываются (добавляется .bak к имени файла) 2) загружаются новые файлы 3) запускается новая версия 4) если запуск успешен - .bak файлы удаляются, иначе обновление откатывается Очередная версия программы была собрана более новой версией компилятора MinGW и с обновленной версией Qt-библиотек (4.8.4). Обновление программы до этой версии не проходит - новая версия падает при запуске. Установлено, что проблема возникает при попытке загрузить плагин imageformats/qgif4.dll.bak - от старой версии программы, как ясно из названия. Как избежать загрузки этого плагина? Возможно, существуют методы без манипуляций с самим файлом плагина? Название: Re: Плагины Qt: падение при загрузке Отправлено: _OLEGator_ от Февраля 15, 2013, 10:28 Решение в лоб - не переименовывать файлы, добавляя .bak, а перемещать их в папку backup, с сохранение структуры или без, это уже на любителя.
Название: Re: Плагины Qt: падение при загрузке Отправлено: Странник от Февраля 15, 2013, 11:29 Решение в лоб - не переименовывать файлы, добавляя .bak, а перемещать их в папку backup, с сохранение структуры или без, это уже на любителя. собственно, подобные варианты (перемещения, сложные переименования) и подразумевались под манипуляциями с файлом плагина = ) это, в общем-то, не проблема. интересуют другие пути, если они есть.Название: Re: Плагины Qt: падение при загрузке Отправлено: Dancing_on_water от Марта 16, 2013, 09:00 Модули в Qt это все тежесамые dll-ки. И при обновлении компилятора возникают всетеже проблемы с бинарной совместимостью. Посему вопрос:
Модули пересобирались с новым мингв и qt? Название: Re: Плагины Qt: падение при загрузке Отправлено: Странник от Марта 16, 2013, 23:24 Модули в Qt это все тежесамые dll-ки. И при обновлении компилятора возникают всетеже проблемы с бинарной совместимостью. Посему вопрос: проблема в том, что программа, собранная более новой версией компилятора, при запуске пытается загрузить еще не удаленный плагин, собранный старой версией. хотелось получить больше контроля над процессом загрузки Qt-плагинов, но увы и ах.Модули пересобирались с новым мингв и qt? |