Qt为release中可执行程序添加库进行打包并结合inno setup打包生成exe安装文件
文章目录
- Qt为release中可执行程序添加库进行打包并结合inno setup打包生成exe安装文件
- 一、Qt为release中可执行程序添加库进行打包
- 二、使用inno setup生成exe安装文件
- 1、下载inno setup
- 2、安装
- 3、基本的使用
- (1)、首次没有打包过的话直接new一个:
- (2)、不要勾选创建空脚本,直接下一步:
- (3)、填一下相关的信息:
- (4)、设置安装时的文件夹的名称以及是否可以允许用户选择其它文件夹等:
- (5)、选择打包的可执行程序以及对应的文件和文件夹等:
- (6)、添加到开始菜单以及创建桌面快捷方式:
- (7)、添加许可文件以及安装前、安装后显示的信息文件,暂时也可以不选:
- (8)、选择安装模式,为所有用户或者让给用户选择等:
- (9)、安装语言,一般选择默认的英文,最好不要多选,否则安装时可能会失败:
- (10)、设置编译输出位置、生成的exe的名字、exe的ico图标选择、设置安装密码:
- (11)、下一步即可:
- (12)、完成:
- (13)、之后可以看到编译脚本:
Qt程序开发完后需要为release可执行程序添加链接库支撑并生成可以在其它电脑上安装的exe才好传播,这里记录一下处理过程。
一、Qt为release中可执行程序添加库进行打包
编译后的程序需要去掉调试信息,然后使用Qt安装时带有的工具进行链接库查找打包。
1、编译release版本可执行程序
构建Release版本:
2、找到release下编译好的可执行程序
3、使用windeployqt.exe进行打包
将上述exe复制出来,比如我这里:
然后找到如下内容运行(其实是在Qt安装的MinGW目录下中运行cmd):
之后使用windeployqt工具并拖刚才复制出来的exe到终端然后运行:
然后会发现一些Qt的库被放在了对应exe的文件夹内:
有的库我本身没用到,可以删掉,比如我这里没有用到D3D、opengl、GLES这些库,删掉之后会小一般以上(前提是你确认你确实没有用到这些库)。
这时候的文件夹压缩后也可以放在其它类似系统电脑上使用了,但是为了更方便,一般我们在Windows下传播时还会利用工具将其打包成exe文件。
二、使用inno setup生成exe安装文件
对上述打包后的可执行程序和文件、文件夹再做一层压缩打包生成exe文件,这样给到其它人使用时就给个exe直接安装即可,而且可以做一些添加桌面快捷方式等操作。
这里你可以找一些打包exe的软件,比如我这里选用的inno setup。
1、下载inno setup
https://jrsoftware.org/isdl.php
我找了随机站点进行下载,安装了6.0.3版本。
网盘地址:
链接:https://pan.baidu.com/s/10m7YpuTraXuLyS8uIDtypw
提取码:gx1j
2、安装
安装的话选择默认的英文版本进行安装即可,这个版本没有中文汉化,需要的话可以自行去找中文版的。
3、基本的使用
(1)、首次没有打包过的话直接new一个:
(2)、不要勾选创建空脚本,直接下一步:
(3)、填一下相关的信息:
(4)、设置安装时的文件夹的名称以及是否可以允许用户选择其它文件夹等:
(5)、选择打包的可执行程序以及对应的文件和文件夹等:
(6)、添加到开始菜单以及创建桌面快捷方式:
(7)、添加许可文件以及安装前、安装后显示的信息文件,暂时也可以不选:
(8)、选择安装模式,为所有用户或者让给用户选择等:
(9)、安装语言,一般选择默认的英文,最好不要多选,否则安装时可能会失败:
(10)、设置编译输出位置、生成的exe的名字、exe的ico图标选择、设置安装密码:
(11)、下一步即可:
(12)、完成:
(13)、之后可以看到编译脚本:
然后可以点击执行编译,完成后就会在之前选择的输入位置生成可执行程序,此外,这个脚本也可以保存下来,下一次更新该程序后重新打包的时候可以简单修改下这个脚本后重新执行即可。