一、概述
用Qt编写好的程序,如果不进行打包和部署,那么程序只能在Qt环境下才可以运行。因此,我们要想把写好的程序发布给其他用户来用,就得对程序进行打包和部署,让其不用基于Qt环境就可以运行该程序,同时也能对写好的源码进行很好的保护。
说明:本博文是基于上一博文:嵌入式Linux GUI基础——QQ登录界面实例-CSDN博客 https://blog.csdn.net/Eva20192020/article/details/134540896?spm=1001.2014.3001.5502
基础之上进行打包和部署的。
二、打包和部署
1. 切换模式
第一步我们首先要把工程切换到release模式,然后才能编译。
release模式:基本没有调试信息。
debug模式:有很多调试信息。
具体操作如下图,这里的工程名为MYQQ,将debug模式切换为release模式。
2. 找到release模式构建的文件夹
切换以后,在release模式下运行程序,结果是可以正常运行的。运行之后,找到Qt工程所在的根目录,找到如下图的release文件夹。
进到其里层,我们就可以看到一个可执行的文件QQ.exe,不过这个文件现在还打不开,如下图 。
3. 修改图标
先把图标加到工程所在文件夹。这个过程在这里就不再讲解,在前文已详细说明。添加后的结果如下图。
然后在pro文件里面添加: RC_ICONS=QQ.ico ,此处图标文件名为QQ.ico如下图。
注意:图标的格式必须为.ico这个格式的,其他格式不行。
再次进到release文件夹下,查看生成的可执行MYQQ.exe的图标,已经改变,如下图。
4.封包操作
封包操作需要用到Qt的控制台,在Windows桌面点击开始或搜索Qt,如下图:
点开上述Qt控制台,如下图。
在封包之前,先创建一个存放需要的动态库和exe文件,只要不是中文路径都可以(桌面不是中文路径),这里我们在桌面创建了MYQQ文件夹,并将工程中的release生成的MYQQ.exe拷贝到该文件夹下,如下图。
在Qt控制台里面。我们使用命令进到我们新创建的文件夹所在的路径,命令如下。
使用命令dir查看文件夹下存在MYQQ.exe文件,如下图。
归后,我们使用 windeployqt 工具把库加到我们新创建的这个文件夹里面。如下:
格式:windeployqt MYQQ.exe // 封包命令加上exe文件的名称,如下图。
成功后结果如下:
到此为止,封包成功。