天天看點

《QT學習筆記 —— 5. QT程式打包釋出》

在閱讀本文之前,建議先花三五分鐘閱讀下《QT學習筆記 —— 2. 使用向導建立QT項目》

通過前面幾篇文章的介紹,我們已經會了怎麼通過Qt Creator建立項目,也知道怎麼編譯并且運作程式。但是Qt的應用程式編譯出來之後,将單獨的exe程式拿到其他PC上運作是運作不起來的,會提示缺少對應的動态連結庫。那怎麼讓它也可以在其他的計算機上運作呢?

前面生成的debug版本程式依賴的dll檔案很大,那是因為debug版本程式中包含了調試資訊,可以用來調試。而真正要釋出程式時要使用release版本。下面對QtDemo程式進行release版本的編譯。按下圖選擇好後,進行編譯并且運作。

《QT學習筆記 —— 5. QT程式打包釋出》

編譯之後,可以發現已經生成了新的可執行檔案,新生成的可執行檔案大小比之前小了很多。

《QT學習筆記 —— 5. QT程式打包釋出》
《QT學習筆記 —— 5. QT程式打包釋出》

當然,新生成的release版本程式,還是不能直接在其他電腦上運作,因為還沒有包含QT的庫檔案。我們需要去Qt的安裝目錄下找到所有的Qt程式運作時所依賴的,将他們和exe程式放到同一目錄下,程式才可以執行。

根據上邊的描述我們可以想象的到,如果手動去尋找應用程式依賴的動态庫,這是一件非常麻煩的事情。其實我們完全沒有必要這麼辛苦,Qt給我們提供了一個尋找依賴項的工具windeployqt

Windeployqt的使用方法:

1. 把新生成的exe檔案放到指定的目錄下

《QT學習筆記 —— 5. QT程式打包釋出》

2. 在控制台視窗中通指令進入到上述目錄中

《QT學習筆記 —— 5. QT程式打包釋出》

3. 執行指令windeployqt 應用程式名(zhubao.exe)

《QT學習筆記 —— 5. QT程式打包釋出》

應用程式所需的附加依賴項就會全部拷貝到我們指定的目錄中 。

《QT學習筆記 —— 5. QT程式打包釋出》
《QT學習筆記 —— 5. QT程式打包釋出》

把qt_version.zip發送到其他計算機上,也可以運作了。