2013-03-20 99 views
1

我做了一個小問題的QML應用程序,我必須在Windows上部署。部署QML應用程序

我編譯它在發佈模式。

我不是用來在Windows上部署的,而且在我的文件旁邊添加了很多dll之後(感謝依賴walker),它無法啓動。

我添加了另一個不需要的DLL(顯然),並且應用程序終於開始了。

但它啓動一個空窗口。

我做錯了什麼?我怎樣才能使它工作?

回答

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++程序中,所以你只需要運送二進制文件而不關心資源!