【前言】
業務需求將qt程序打包成win可執行文件。咱是做linux的,奈何用的麒麟系統,程序運行在win,好嘛,重新在win qtcreator編譯后打包唄。
【目標】
1.給qt程序添加一個圖標。
2.qt程序打包。
3.將打包后的qt程序做成單個文件。
【正文】
1.給qt程序添加一個圖標:
首先確定程序可以正常編譯,運行。
然后在項目代碼目錄下放一個xxx.ico文件,圖片不要太大32*32剛好。
再然后打開項目的.pro文件,在里面加入RC_ICONS = xxx.ico。
最后編譯程序運行無誤,即可在代碼同級目錄的生成目錄下找到帶圖標的可執行文件。
2.qt程序打包:
2.1.將要打包的程序現在qt下用Release模式下編譯和運行一次。//修改成release模式即點擊qt左下角執行鍵上面的小電視里面選擇(小電視默認選擇debug)。
2.2.找到程序的exe(在代碼同級目錄的build-xxx-Desktop-Release里面),單獨復制到一個文件夾比如D盤新建一個xxx文件夾。
2.3.新建一個bat文件,記事本打開輸入內容cmd /k "cd /d [windeployqt.exe的路徑] && windeployqt.exe [要打包的exe文件的路徑](這個exe文件的路徑是自己新鍵的文件的路徑)。
例如: cmd /k "cd /d C:\Qt\Qt5.5.1\bin\ && windeployqt.exe D:\xxx\xxx.exe,然后雙擊xxx.bat文件變回打開終端進行拷貝文件。
2.4.這時進入D:\xxx文件夾,點擊xxx.exe如果程序正常運行則說明打包完成,將xxx文件夾放到任意一台win上都可以運行。如果彈出警告xxx.dll就去qt程序目錄下去找並拷貝回來。直至運行程序。
3.將qt程序打包成單個文件:
3.1.打包單個文件需要用到一個打包工具Enigma Virtual Box。//自己在百度上隨便下一個就行。
3.2.打開下載的工具包點擊可執行程序進行操作。
3.3.點擊瀏覽按鈕,選中你的xxx.exe文件,會在你的exe相同路徑下出現xxxCale.exe文件。這就是你最后的包,你也可以通過后面的瀏覽修改他的位置。
3.4.點擊左下角的增加按鈕,選擇第二個添加目錄樹,路徑為相對路徑,將你的xxx文件夾選中。//這會列出你的程序需要的資源的清單。
3.5.點擊右下角的文件選項按鈕,選擇啟動文件虛擬化和壓縮文件。//這個會讓你打包后的文件非常小,1/2以內。
3.6.最后點擊最右下角的執行封包按鈕。
3.7.封包結束,在你指定的文件夾或xxx.exe下會出現一個xxxCalc.exe文件。把文件拷貝到桌面執行看程序是否有誤,無誤則可發給其他人使用。
【后記】
winqt程序打包也就如此簡單,也許是沒涉及到可安裝吧。因為需求原因,可安裝程序需要設置版本號什么的很麻煩就沒弄。但這樣也足夠了。個人親測可以使用。
在執行教程過程中有任何問題,歡迎留言或評論哦。