2014-01-27 40 views
2

遭受了很多的努力一個Qt /設爲Qml應用程序部署到Windows 8,因爲我在這個問題描述的問題後:Deploying Qt Qml app to Windows 8 shows me a blank window部署的Qt設爲Qml應用到Windows顯示我一個空白窗口

我可以使它工作複製Qt5Widgets.dll ...但它只在我自己的開發機器上工作(在那裏安裝它,但還有我自己的機器)。 然後我試圖在另一臺機器(VM上運行的Windows 7)安裝它..並在第一次我得到了錯誤丟失平臺插件...好,我複製到qwindows.dll APPDIR /平臺,它似乎解決了這個問題。 但後來我得到了另一個缺少DLL錯誤(與VS2010相關的),然後我安裝了Visual Studio 2010可再發行組件包...好了,現在應用程序啓動,但有一個空白窗口:( qml文件和一切在一個資源文件中,所以它應該在二進制文件中 我不知道該從哪裏去找到這個問題

任何想法我能做什麼?奇怪的是它安裝的很好在 我自己開發的機器。而我的結論是Qt的在OS X上部署更加容易。

回答

1

我和這些步驟解決了這個問題:

  • 檢查您的QML文件路徑。例如默認生成的代碼如下:

    QtQuick2ApplicationViewer viewer; 
    viewer.setMainQmlFile(QStringLiteral("qml/test/main.qml")); 
    

    所以qmls應該在 「QML /測試」 文件夾

  • 檢查丟失的dll文件:

    從Windows的Sysinternals Suite
    1. 下載的VMMap工具(http://technet.microsoft.com/en-us/sysinternals/dd535533
    2. 編譯和Qt creator中運行你的應用程序得到它的工作像它應該
    3. run的VMMap一nd打開正在運行的應用程序的進程。
    4. 排序「詳細信息」下面的窗口 - 所以你會看到路徑排序的所有加載的DLL。
    5. 複製缺失的dll。它應該現在工作!
+0

我試過你所說的一切,但結果仍然相同: 我在兩臺機器上安裝了VmMap(W8開發工具和W7 VM工具),然後通過Qt Creator運行我的應用程序,構建並運行,獲得了很多新的dll,像qtquick2plugin.dll,dialogplugin.dll等 然後我安裝我的應用程序在我的開發機器,發現應用程序實際上是從Qt安裝這些DLL,好我想,我只需要複製它們在安裝。 在虛擬機安裝中做了相同的結果,而VmMap沒有顯示虛擬機中的任何缺少的DLL。 我還是得到一個空白窗口,我能做什麼? – danielfranca

+0

我試圖根據我在VmMap中看到的內容來組織目錄,如/ /QtQuick.2/中的qtquick2plugin.dll,/ /plugins/imageformats中的qtiff.dll,/ /imageformats /中的已嘗試imageformats,等等...沒有什麼似乎工作:( 爲什麼這麼難在Windows中部署Qml :( – danielfranca

+0

幾乎在那裏......我按照這種「艱難的方式」部署:http://qt-project.org/wiki/Deploy_an_Application_on_Windows ,它運行罰款W8(使用Qt安裝隱藏),但在QtQuick錯誤的W7崩潰:異常代碼:0000005 難道錯VC的Redist包導致該 此錯誤的發展從未發生或在W8。 – danielfranca

1

我也有很多的麻煩部署與設爲Qml一個空白窗口太多的應用程序。

一般來說這個網站提供了有益的啓示: https://qt-project.org/doc/qt-5.1/qtdoc/deployment-windows.html

空白窗口問題是造成在我的情況下,兩個不同的東西:

  1. 到QML文件中的相對路徑是不正確的。我已經通過將qml文件存儲在資源文件中然後從那裏調用它來解決這個問題。

  2. 如果應用程序位於網絡驅動器上,這似乎是個問題。除了將應用程序複製到本地文件夾外,我還沒有找到解決方案。

總的來說,我認爲部署是一個很大很大的痛苦: -/

+0

感謝您的回答:) 真的,非常大的痛苦在Windows :( 1部署它 - 我認爲這不是問題,因爲我使用的資源文件,因此它不應該是一個問題,對不對? 2 - 不在網絡驅動器:( 唯一我認爲可能是問題是,在開始時我沒有使用資源文件,然後後來我轉移到資源文件...也許我錯過了這個過渡的東西? 我的.pro文件:http://pastebin.com/njqRrJxg 我的資源文件:http://pastebin.com/ntFVY8 YY – danielfranca

+0

你的主要功能是什麼樣的? – avb

+0

我的主文件:http://pastebin.com/ELdegyec – danielfranca