Чтобы проверить развертывание QML, я создал очень простое приложение QML. Вот код:
main.cpp
#include <QApplication>
#include <QQmlApplicationEngine>
#include <QFile>
int main(int argc, char **argv) {
QApplication app(argc, argv);
QQmlApplicationEngine engine;
QString path = app.applicationDirPath() + "/qml/main.qml";
if(QFile::exists(path))
engine.load(path);
else {
return 1;
}
return app.exec();
}
main.qml
import QtQuick 2.2
import QtQuick.Controls 1.2
ApplicationWindow {
id: mainWindow
title: "Test window"
width: 800
height: 600
visible: true
}
Чтобы убедиться, что в системе не установлена библиотека разработки, я настроил виртуальную машину с чистой установкой Windows XP. Затем я выполнил инструкции, описанные здесь, и скопировал all Qt5 *.dll в каталог программы, а также как платформы /qwindows.dll и icu * 52.dll. Зависимость Уокер подтвердила, что не было сломанных зависимостей, т.е. Все должно быть правильно настроено.
Однако по некоторым причинам, когда я запускаю свое приложение, я ничего не вижу. Ни окно, ни сообщение об ошибке. Запуск с консоли также не дает мне никакой ошибки. Несмотря на это, я вижу, что мое приложение работает в диспетчере задач, например, работает в фоновом режиме. Запуск приложения на машине разработки идет без проблем: приложение запускается правильно, и я вижу его окна.
Что я делаю неправильно? Как я могу развернуть приложение QML, чтобы убедиться, что оно будет работать на любой другой машине без разработки?