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 大致可以分為兩類:
下面分別介紹這兩類exe 的發布方式。
然後以 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 工具命令:
然後可以在 d:\hellomw 資料夾裡看到 windeployqt 工具自動複製的外掛程式資料夾
和 dll檔案、qm檔案。這時候得到的就完整的 exe 程式發布集合,依賴關係都解決好了。
把 d:\hellomw 資料夾 打包就可以發布了,不用自己乙個個找 dll 檔案了。
d:\hellomw 資料夾裡的qm檔案是多國語言翻譯檔案,不需要可以刪了,
其他的都保留。
然後以 release 方式編譯生成 exe 程式:
然後找到專案的構建目錄,比如專案原始碼目錄 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 工具命令:
注意不要跟燒包一樣照抄上條命令,--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 資料夾裡的東西很多,看不懂就不要刪,老老實實打包發布就行了。
上面是最簡單的程式發布,實際複雜程式可能還帶一些檔案、資料庫檔案、配置檔案之類的,可以按自己需要新增這些檔案到發布資料夾裡面。
**:
qt打包程式
qt的應用程式編譯出來之後,將單獨的exe程式拿到其他pc上執行是執行不起來的,會提示缺少對應的動態鏈結庫。我們需要去qt的安裝目錄下找到所有的qt程式執行時所依賴的,將他們和exe程式放到同一目錄下,程式才可以執行。根據上邊的描述我們可以想象的到,如果手動去尋找應用程式依賴的動態庫,這是一件非常麻...
qt程式打包
qt程式打包發布方法 使用官方提供的windeployqt工具 qt5.8 64 bit for desktop msvc 2015 下打包發布程式 qt 官方開發環境使用的動態鏈結庫方式,在發布生成的exe程式時,需要複製一大堆 dll,如果自己去複製dll,很可能丟三落四,導致exe在別的電腦裡...
Qt 程式打包
設定程式圖示 把ico檔案放到源檔案目錄下,命名為 test.ico 建立乙個myico.rc檔案,輸入如下內容 idi icon1 icon discardable test.ico 在pro檔案寫入rc file myico.rc執行qmake,編譯 編譯,打包 選擇release編譯執行 將生...