Qt for Windows:靜態釋出QML開發的程式
阿新 • • 發佈:2019-02-12
概述
之前寫了一篇,講如何靜態編譯Qt5.9.0,連結如下:
http://blog.csdn.net/wsj18808050/article/details/72862478
現在趁熱打鐵,再說下如何以靜態方式,釋出QML程式。
其實靜態釋出Quick/QML程式,大體上和靜態釋出Widgets差不多,只不過QML部分的一些庫檔案,是無法靜態編譯的,畢竟都稱不上C++。
注意,本文中用到的套件是5.9.0靜態編譯,MinGW版本
整理QML庫檔案
這些QML庫檔案都儲存在一個qml目錄,在我電腦上那就是 C:\Qt\Qt5.9.0_MinGW_static\qml
。如下圖,在 C:\Qt\Qt5.9.0_MinGW_static\qml\QtQuick\Controls.2
我們要做的,就是把這所有的qml庫檔案,新增到qrc中,再設定一下QQmlApplicationEngine的importPath就行了。
我新建一個Controls2的工程,並且把qml目錄完整的拷貝了過來。記得刪除qml目錄中的.a檔案,我們這裡不需要這些靜態庫。
刪除完.a檔案後,qml資料夾中有725個檔案,3.5MB大小。看起來還可以,全部新增到qrc裡。
當然這裡我們不能手動一個個加,太麻煩了,右鍵qrc檔案,選擇 Add Existing Directory
,選擇qml目錄,這樣整個qml目錄已經裡面所有資料夾,都被遞迴新增到qrc裡面了。
新增後效果如下:
回到main.cpp,再新增一行
engine.addImportPath( ":/qml/" );
效果如下:
選擇release編譯,得到exe檔案
執行exe
在Win10中執行,看起來沒有問題
拷貝到純淨Win7中執行,也沒問題