Qt 官方開發環境使用的動态連結庫方式,在釋出生成的exe程式時,需要複制一大堆 dll,
如果自己去複制dll,很可能丢三落四,導緻exe在别的電腦裡無法正常運作。
是以 Qt 官方開發環境裡自帶了一個工具:windeployqt.exe。
以官方 Qt 5.4.0+MinGW 開發環境為例,
從開始菜單--》Qt 5.4.0--》5.4--》MinGW 4.9 (32-bit)--》Qt 5.4 for Desktop (MinGW 4.9 32 bit),可以打開 Qt 指令行,從這裡就可以執行 windeployqt 工具。
內建開發環境 QtCreator 目前生成圖形界面程式 exe 大緻可以分為兩類:
Qt Widgets Application 和 Qt Quick Application。
下面分别介紹這兩類exe 的釋出方式。
1、Qt Widgets Application可執行程式釋出方式
首先用 QtCreator 建立一個 Qt Widgets Application 項目,直接用預設的 QMainWindow 程式就可以了,項目名字假定是 hellomw。
然後以 Release 方式編譯生成 exe 程式:

生成的程式運作正常之後,找到項目的生成目錄,比如 項目源碼路徑:
C:\QtPros\hellomw\
它的項目生成目錄是
C:\QtPros\build-hellomw-Desktop_Qt_5_4_0_MinGW_32bit-Release\
進入這個檔案夾,在進入它的子檔案夾 release 裡面,找到 hellomw.exe ,
将這個exe 複制到一個新的單獨的檔案夾裡用于釋出,比如存到
D:\hellomw\ 檔案夾裡面。
然後從開始菜單打開 Qt 指令行,輸入指令 :
cd /d D:\hellomw
然後使用 windeployqt 工具指令:
windeployqt hellomw.exe
然後可以在 D:\hellomw 檔案夾裡看到 windeployqt 工具自動複制的插件檔案夾
和 dll檔案、qm檔案。這時候得到的就完整的 exe 程式釋出集合,依賴關系都解決好了。
把 D:\hellomw 檔案夾 打包就可以釋出了,不用自己一個個找 dll 檔案了。
D:\hellomw 檔案夾裡的qm檔案是多國語言翻譯檔案,不需要可以删了,
其他的都保留。
2、Qt Quick Application釋出方式
首先用 QtCreator 建立一個 Qt Quick Application 項目,直接用預設的項目模版,點選下一步生成項目,項目名字假定是 helloqml。
然後找到項目的建構目錄,比如項目源碼目錄 C:\QtPros\helloqml,
它的建構目錄是:
C:\QtPros\build-helloqml-Desktop_Qt_5_4_0_MinGW_32bit-Release\
進入這個目錄,再進入 release 子檔案夾,找到 helloqml.exe ,
複制到一個新的單獨的檔案夾裡面,比如 D:\helloqml\ 檔案夾裡面。
然後從開始菜單打開 Qt 指令行,進入D:\helloqml\檔案夾:
cd /d D:\helloqml
windeployqt helloqml.exe --qmldir C:\Qt\Qt5.4.0\5.4\mingw491_32\qml
注意不要跟燒包一樣照抄上條指令,--qmldir 是指出 Qt 庫裡面的 qml 檔案夾位置,
上面指令裡 C:\Qt\Qt5.4.0 是 Qt 官方開發環境安裝的檔案夾,
C:\Qt\Qt5.4.0\5.4\mingw491_32 是Qt類庫的目錄(QTDIR),
是以使用的 --qmldir 後面寫的是 C:\Qt\Qt5.4.0\5.4\mingw491_32\qml
讀者Qt環境安裝路徑不一樣,要根據實際情況修改!
然後可以看到 D:\helloqml 檔案夾裡有一大堆檔案,就是 QtQuick程式需要的依賴檔案。
将整個 D:\helloqml 檔案夾 打包就可以釋出出去,在别的電腦上使用。
這個 D:\helloqml 檔案夾裡的東西很多,看不懂就不要删,老老實實打包釋出就行了。
上面是最簡單的程式釋出,實際複雜程式可能還帶一些圖檔檔案、資料庫檔案、配置檔案之類的,可以按自己需要添加這些檔案到釋出檔案夾裡面。
http://tieba.baidu.com/p/3730103947