Страницы

Поиск по вопросам

понедельник, 4 февраля 2019 г.

Программа, написанная на Qt 5.1.1, по-разному ведёт себя на Windows 8 и 7

Доброго времени суток! Есть программа, написанная на Qt 5.1.1 на машине Windows 8 x64 c применением компилятора VC++ 2010 (x86). В программе для создания интерфейса использован QtQuick 2.0 и QtQml.Models 2.1 - другие версии выбрать нельзя. Программа спокойно запускается и работает на Windows 8 (x64), а на 7 (x86) - запускается, но отображается только пустая форма. В чём может быть проблема? Все необходимые dll есть рядом с exe-файлом приложения. UPD: любое приложение Qt с использованием QtQuick 2.0 не запускается на Windows 7 x86.


Ответ

Как обычно и бывает - решение нашёл сам. Итак, как вы знаете, для того чтобы приложение на Qt работало вне IDE, нам необходимо либо статически собрать нашу версию Qt, либо аккуратно сложить все необходимые dll в папке с исполняемым файлом приложения. Я изначально выбрал второй путь, поэтому директория приложения выглядела следующим образом: - D3DCompiler_43.dll - icudt51.dll - icuin51.dll - icuuc51.dll - libEGL.dll - libGLESv2.dll - Qt5Core.dll - Qt5Gui.dll - Qt5Network.dll - Qt5Qml.dll - Qt5Quick.dll - Qt5V8.dll - Qt5Widgets.dll - app.exe - platforms/qminimal.dll - platforms/qoffscreen.dll - platforms/qwindows.dll Казалось бы, ведь есть уже Qt5Qml.dll и Qt5Quick.dll, которые должны отвечать за работу с QtQuick, но не тут-то было. После долгого гугления выяснилось, что состав директории должен быть дополнен каталогами QtQml и QtQuick.2. После чего всё прекрасно заработало. Спасибо за внимание, вопрос удалять не буду, а просто закрою - вдруг кому понадобится.

Комментариев нет:

Отправить комментарий