基於QT應用程序打包成可執行程序exe

眾所周知QT編譯好的應用程序依賴很多動態鏈接庫,不能方便的在其他PC上使用。這裡介紹QT5版本的應用程序打包成可執行EXE的方法。

首先把QT應用程序項目編譯成Release版本,而不是Debug版本。Debug版本包括很多的調試信息,所以要比大很多,相對Debug來說Release運行效率也就高一些。

為了方便,在工程release文件夾下拷貝出編譯好的.exe文件,另建一個文件夾,按WIN+R快捷鍵啟動CMD命令進入此文件夾,用QT自帶的windeployqt.exe工具雙擊運行後,依賴的dll就自動拷貝到這個exe文件夾下面了。如下圖:

基於QT應用程序打包成可執行程序exe

提示使用windeployqt.exe工具需要提前設置系統環境變量,在path加入編譯路徑,比如我的QT安裝目錄下:D:\\QT5.3\\5.3\\mingw482_32\\bin。在exe文件夾下看到各種編譯鏈接庫,如下圖:

基於QT應用程序打包成可執行程序exe

這裡介紹一下各種動態依賴庫的作用:

a.icu庫(實現UNICODE編碼支持,跟版本保持一致)

基於QT應用程序打包成可執行程序exe

b.mingw編譯依賴庫

基於QT應用程序打包成可執行程序exe

c.各種核心類模塊庫:

基於QT應用程序打包成可執行程序exe

如果用到其他第三方程序庫,還需要添加其他的鏈接庫。接下來進行文件打包,用Enigma Virtual Box軟件進行文件打包。如下圖:

基於QT應用程序打包成可執行程序exe

接下來進行文件壓縮打包,操作如下圖:

基於QT應用程序打包成可執行程序exe

等待執行完,點擊運行就可以運行生成打包好的可執行EXE文件了,可在其他PC上使用,經測試可用。

基於QT應用程序打包成可執行程序exe

這是打包成可執行文件的方法,還有打包成安裝包文件的方法,個人感覺安裝太麻煩,如果是比較小的應用程序不如一個可執行文件方便使用。


分享到:


相關文章: