为了测试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();
}
主界面.qml
import QtQuick 2.2
import QtQuick.Controls 1.2
ApplicationWindow {
id: mainWindow
title: "Test window"
width: 800
height: 600
visible: true
}
为了确保系统中没有安装开发库,我创建了一个虚拟机并安装了纯净的Windows XP。然后,我按照这里描述的说明操作,并将所有 Qt5 * .dll文件复制到程序目录中,以及 platforms/qwindows.dll 和icu * 52.dll。依赖项检查器确认没有留下错误的依赖项,即一切都应该已正确设置。但是,由于某些原因,当我运行我的应用程序时,我什么也看不到,既没有窗口,也没有错误消息。从控制台运行也没有错误。尽管如此,我可以在任务管理器中看到我的应用程序正在运行,就像它在后台运行一样。在开发计算机上运行应用程序没有问题:应用程序正确启动,我可以看到它的窗口。
我做错了什么?如何部署QML应用程序以确保它可以在任何其他非开发计算机上运行?