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文件就可以给别人用了

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