我制作了一个我必须在Windows上部署的小型QML应用程序。
我是在发布模式下编译的。
我不习惯在Windows上部署,在我的文件旁边添加了很多dll后(感谢依赖walker),它无法启动。
我添加了另一个不需要的dll(显然),应用终于开始了。
但它会启动一个空窗口。
我做错了什么?我怎样才能让它起作用?
答案 0 :(得分:6)
问题是您的应用必须附带QML文件和所有需要的图标。 最简单的解决方案是将所有qml和图标文件放在Qt资源文件(.qrc)中,然后简单地做一个从qrc加载QQuickView的C ++启动器:
#include <QGuiApplication>
#include <QQuickView>
int main (int argc, char ** argv) {
QGuiApplication app (argc, argv);
QQuickView view (QUrl("qrc:/main.qml"));
view.setTitle (QObject::tr("My App"));
view.setResizeMode (QQuickView::SizeRootObjectToView);
view.showNormal ();
return app.exec ();
}
然后只需编译整个内容,您的QML,SVG,PNG文件将被编译到C ++程序中,因此您只需运送二进制文件而无需关心资源!