將exe和依賴文件(dll ico等)合并為一個exe發布

主要由三部分組成

  1. 用release方式編譯工程
  2. 用windeployqt解決環境依賴問題
  3. 用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打包為一個

  1. .ico格式圖片制作
    link
  2. winrar 打包
    ref
    只需要設置
  • 壓縮后的文件名稱
  • 設置自壓縮選項
  • 解壓選項
  • 解壓后運行
  • 選擇圖標
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • WinRAR - 最新版本的更新 版本 5.50 1. WinRAR 和命令行 RAR 默認使用 RAR ...
    王舒璇閱讀 2,412評論 0 2
  • 一、溫故而知新 1. 內存不夠怎么辦 內存簡單分配策略的問題地址空間不隔離內存使用效率低程序運行的地址不確定 關于...
    SeanCST閱讀 7,867評論 0 27
  • 「博客搬家」 原地址: CSDN 原發表時間: 2016-06-04 本文討論在 Windows 平臺下編譯成...
    雪中亮閱讀 7,590評論 0 10
  • 佳茗 想起母親 穿過云層的光線 它們揚起又落下 蓋縫紉機的繡布上落滿了灰塵 軌跡可以追溯到N年前 在十八歲那一年立...
    佳茗tl閱讀 301評論 0 0
  • 游完迪士尼,總體評價:硬件5星、老外服務5星、國人服務2星。 耗資55億美元,歷時10年建成的上海迪士尼果然氣宇非...
    w_jeff閱讀 2,950評論 8 5