Qt程式打包發布方法

2021-07-27 10:23:47 字數 2096 閱讀 2117

qt程式打包發布方法(使用官方提供的windeployqt工具)

**:qt 官方開發環境使用的動態鏈結庫方式,在發布生成的exe程式時,需要複製一大堆 dll,如果自己去複製dll,很可能丟三落四,導致exe在別的電腦裡無法正常執行。因此 qt 官方開發環境裡自帶了乙個工具:windeployqt.exe。

以官方 qt 5.4.0+mingw 開發環境為例,windeployqt工具在 %qtdir%\qt5.4.0\5.4\mingw491_32\bin 目錄下,其中 qtdir 是 qt 的安裝目錄,是環境變數。

下面分別介紹這兩種方式建立應用的發布方式。

生成的程式執行正常之後,找到專案的生成目錄,比如 專案原始碼路徑: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檔案是多國語言翻譯檔案,不需要可以刪了,其他的都保留。

然後找到專案的構建目錄,比如專案原始碼目錄 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 工具命令: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 資料夾裡的東西很多,看不懂就不要刪,老老實實打包發布就行了。

上面是最簡單的程式發布,實際複雜程式可能還帶一些檔案、資料庫檔案、配置檔案之類的,可以按自己需要新增這些檔案到發布資料夾裡面。

Qt程式打包發布方法

1 qt官方開發環境使用的動態鏈結庫方式,在發布生成exe程式時,需要複製一大堆dll,如果自己去複製dll,很可能丟三落四,導致exe在別的電腦裡無法正常執行,因此qt官方開發環境裡自帶了乙個工具 windeployqt.exe windeployqt工具在 qtdir qt5.9.1 5.9.1...

Qt程式打包發布方法

完成後編譯執行,會在原始碼根目錄同級目錄下生成乙個build目錄,如下圖 exe檔案就在e qt project build ningjing desktop qt 5 9 1 mingw 32bit debug debug目錄下 然後開啟qt命令列,進入到exe檔案所在的目錄 在使用 windep...

Qt程式打包發布

首先用 qtcreator 新建乙個 專案,直接用預設的 qmainwindow 程式就可以了,專案名字假定是 hellomw 然後以 release 方式編譯生成 exe 程式 生成的程式執行正常之後,找到專案的生成目錄,比如 專案原始碼路徑 c qtpros hellomw 它的專案生成目錄是 ...