我制作了一个必须在 Windows 上部署的小 QML 应用程序。
我在发布模式下编译它。
我不习惯在 Windows 上部署,并且在我的文件旁边添加了很多 dll 之后(感谢依赖 walker),它没有启动。
我添加了另一个(显然)不需要的 dll,应用程序终于启动了。
但它会启动一个空窗口。
我做错什么了 ?我怎样才能让它工作?
我制作了一个必须在 Windows 上部署的小 QML 应用程序。
我在发布模式下编译它。
我不习惯在 Windows 上部署,并且在我的文件旁边添加了很多 dll 之后(感谢依赖 walker),它没有启动。
我添加了另一个(显然)不需要的 dll,应用程序终于启动了。
但它会启动一个空窗口。
我做错什么了 ?我怎样才能让它工作?
问题是您的应用程序必须附带 QML 文件和所有需要的图标。最简单的解决方案是将所有 qml 和图标文件放在 Qt 资源文件 (.qrc) 中,然后简单地执行一个 C++ 启动器,从 qrc 加载 QQuickView:
#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++ 程序中,所以你只需要发布二进制文件而不关心资源!