第53课 - 应用程序的打包与发布

1、调试与发布 

发布应用程序时的候选者 

       -调试版(debug) : 开发阶段生成的可执行程序 

       -发布版(release) : 最终产品的可执行程序 

调式版的可执行程序 

       -包含与调式相关的各种信息,体积巨大

       -执行速度慢,支持断点调试

发布版的可执行程序 

       -无任何冗余信息,体积小巧 

       -执行速度快,无法映射到源码调试 

2、程序的库依赖 

可执行程序的正常运行需要外部库的支持 

因此: 

       -发布程序时必须保证所有的依赖库都存在 

Windows中可以使用Depends工具查看程序的库依赖 

Depends官网地址: 

       -http://www.dependencywalker.com 

Linux中可以使用ldd命令查看程序的库依赖 

       -ldd是Linux系统中一个脚本程序(Shell

       -文件路径: /usr/bin/ldd 

3、实验分析

库依赖的确定    NotePad.pro 

Windows下

将发布版exe程序拖到Depends

 

选择DLL文件,右键查看属性

若路径在C:\windows\system32不用理会

若路径在E:\qt\4.7.4\bin需要到对应目录下将对应库文件拷贝出来

Linux下同理

4、程序的环境依赖 

应用程序对于执行环境还可能存在依赖关系 

可能的依赖: 

      -环境变量,驱动程序,数据库引擎 

      -Java虚拟机,.net Framework 

      -.....

问题 :

          如何在客户机器上部署程序的执行环境? 

方案一: 

      用户根据提供的使用手册自行部署执行环境

方案二: 

      开发一个专用的部署(安装)程序 

      部署(安装)程序运行后自动部署执行环境   

4、部署(安装)程序的开发 

通用的软件开发方式 

            • Visual Studio 

            • Qt SOK + Qt Creator 

专用的部署开发方式 

            • InstallShield 

            • Inno Setup 

            • NSIS 

 

Installshield简介 

        -商业级应用软件,功能强大,应有尽有 

        -用于解决Windows软件安装包开发的制作工具 

        -官网地址: http://www.installshield.com 

Inna Setup简介 

        -免费应用软件,小巧,简便,精美 

        -以Pascal语言作为脚本开发Windows部署程序

        -官网地址: http://www.jrsoftware.org/isinfo.php 

NSIS简介 

        -开源应用软件,超轻量级,无任何冗余功能

        -以专用脚本语言开发Windows安装程序 

        -官网地址: http://nsis.sourceforge.net 

 

5、Linux下Qt程序发布简介 

方法一: 

             1. 通过ldd命令确定程序的库依赖 

             2. 通过Shell脚本开发部署程序

方法二: 

            根据具体发行版开发专用部署程序(deb, rpm

6、小结 

程序开发时能够生产debugrelease版 

打包时首选要解决程序的库依赖 

程序执行需要特殊环境依赖时必须开发部著程序 

Windows中有丰富的部著程序开发工具可供选择 

Linux中可以采用Shell脚本开发部署程序 

猜你喜欢

转载自blog.csdn.net/qq_39654127/article/details/81701807