QT發佈程序(VS2015 + Qt5.12.x)

轉自:https://blog.csdn.net/ch_liu23/article/details/93602193

一、用QT自帶工具整合相關dll

1.在release模式下編譯工程生成exe文件

2.將該exe文件單獨拿出拷貝到任意一個新建的文件夾,文件夾名隨意

3.打開windows下的cmd或者shell,在當前窗口下執行打包命令:

    QT自帶的是一個查找整合相關dll的工具,同時還會將相關的dll拷貝到當前文件夾下,命令爲windeployqt,但是由於qt安裝目錄下有幾個這個名字的exe,所以要選對,本文基於vs2015下編譯的,故而選擇的是C:\Qt\5.12.3\msvc2015_64\bin\windeployqt.exe

命令執行的方式是:C:\Qt\5.12.3\msvc2015_64\bin\windeployqt.exe 你的執行文件名.exe

執行成功會如下圖:

在該文件夾下就會生成相應的dll


二、用Dependency  waker查找相關依賴的dll

      Qt的工具只能找到qt相關的dll,有時候我們發佈出去的話,對方電腦未必裝了opencv或者vs2015,因此還有些dll需要手動拷貝到剛纔的目錄下。可以用Dependency  waker來查找當前exe涉及哪些dll,Dependency waker官網下載地址,或者百度雲鏈接: dependency waker百度雲鏈接 提取碼: 9mqe 。用該工具能夠看到所有的相關的dll。我的是win10+vs2015,發佈出去的時候,總結了下容易缺少這三個dll,concrt140.dll,msvcp140.dll,vcruntime140.dll,可以在這裏下鏈接: 常缺失的dll百度雲下載路徑 提取碼: m4v4。如果還缺少其他dll,推薦這個網站【https://cn.dll-files.com/】裏面一搜就有,非常全

三、用Enigma Virtual Box將所有dll封裝到exe文件中

    其實到上一步已經發佈一個壓縮包給別人用了,如果你跟我一樣有強迫症,覺得還是給別人一個exe直接可執行會爽一點,就做這一步。

    先下載這個軟件,鏈接: Eniga Virtual box百度雲下載 提取碼: z8vf 。

    安裝好後打開,輸入exe文件,封包程序對應的會自動生成名字,任意改

然後點擊下方的增加文件,這一步是需要把相關dll增加進去的,注意目錄層級

點擊執行封包就會自動生成,如下:

這樣就生成一個exe文件,單獨給出這個exe文件就可以給別人用了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章