主要由三部分組成
- 用release方式編譯工程
- 用windeployqt解決環境依賴問題
- 用winrar打包成單一exe文件
用release方式編譯工程
創建工程之后,默認的編譯方式是debug。這樣編譯出來的exe文件會比release方式編譯出來的文件大很多,而且運行時會依賴更多的dll。
所以一般是先選擇debug方式調測軟件,通過測試之后選擇release模式再編譯一次。
編譯得到的exe文件會存放在release文件夾下面。
![]W66MKTM.png](https://upload-images.jianshu.io/upload_images/9767009-bb90a71c7c446a7a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
cd到release文件夾下點擊文件,報錯缺少dll。
在文件夾下新增那些dll就可以再本機上正常運行了,但是在別人的電腦上就會報更多錯誤,各種缺少dll。
用windeployqt解決環境依賴問題
缺少dll的問題可以通過手動加dll解決,但是這樣未免太過低效,而且必須到另一個人的電腦上運行一下才知道到底需要哪些dll。
所以Qt官方提供了一勞永逸的方法:windeployqt
ref
在release文件夾下,用Qt自帶的命令行輸入
windeployqt XXX.exe
就會把所有的dll同步過來。
用winrar打包文件
用以上方法就在所有windows平臺運行了。但是每次拷貝都要考一大堆原文件有些不雅,所以可以用winrar把眾多dll和exe打包為一個
- 壓縮后的文件名稱
- 設置自壓縮選項
- 解壓選項
- 解壓后運行
- 選擇圖標