Qt项目打包发布流程(Windows平台&动态链接)

来源:互联网 发布:国外人工智能机器人 编辑:程序博客网 时间:2024/06/08 12:52

前言

我们在写一个自己需要的界面时,一般就是在QtCreator中直接用默认的debug方式编译可执行文件。然后通过运行调试,不断修改完善程序,最终制作完成界面的框架,实现项目的各个功能。

但如果有时候我们需要把自己写好的软件,发布给别人使用的时候,就需要稍微地封装打包一下我们程序。

我们自己使用的时候,一种是在IDE环境中编译运行,还有一种是设置Qt安装目录bin文件夹的环境变量(此方法在此不赘述)。但是我们不可能让别人通过这两种方法执行程序。

发布有两种方式一个是采用默认的动态链接库的编译方式,在可执行文件中添加所需的动态库,但一般Qt的库文件体积都较大。还有一个方法是使用静态链接的方式,可是Qt安装的时候是动态编译的,如果生成静态的版本时候,需要自己重新进行编译。后者较为麻烦,我一般采用第一种方式,本文也是以此为例。

接下来废话不说,直接开始介绍打包流程。

流程介绍


以release方式编译

如图所示

一般情况下,Release发行版本的可执行程序加上所需的动态库相比于Debug版本,要节约数倍的
体积大小。

看一些博客上说Release版本脱离了不少的调试信息,使得运行效率都相对较高

寻找依赖的动态库

Qt项目所依赖的动态库较多,不推荐大家自己去找,一个个复制。效率比较低。

在这里我推荐大家使用官方提供的工具windeployqt
这个工具可以帮助我们寻找依赖库,不用自己一个个去找了。

使用方法

首先找到项目的编译路径,找到exe可执行文件,将其复制到一个单独的文件夹内。
比如我们将SCO_ROV.exe复制到D:\SHOU_ROV\SCO_ROV.exe

然后打开Qt安装时候自带的命令行软件
进入刚刚我们创建的文件夹的路径内
执行命令windeployqt SCO_ROV.exe
后面的exe文件对应你们的可执行文件名称
我举的例子

执行完成后(本次例子的情况)

仅此例子

接着到文件夹里面一看,这个工具清清楚楚地帮你把需要的库文件都整理好了

是不是感到整理的很清爽,呵呵。

封装成单个绿色执行文件

我推荐大家使用Enigma Virtual Box这个软件用来把一堆库文件和可执行文件封装成一个单个的绿色可执行文件。

就一个执行文件,简洁方便。

软件的语言选项有汉化,操作起来上手比较容易。

软件界面大体模样
如图所示

大概步骤就是先选择你要封装的主程序执行文件
另存为于何处
然后点增加文件夹[递归]
把除了刚才的主程序的所有文件夹和库文件都包括进去

最后执行封包直接就可以生成一个可执行文件。


最后感谢以下博客对我的帮助
打包发布总结

原创粉丝点击