(Qt Installer Framework)程序简易打包教程

2017年06月19日 14:38:47 carman_风 阅读数:3559 标签: installerqt框架 更多

个人分类: 软件安装与使用qt
 

(Qt Installer Framework)程序简易打包教程

第一步:下载Qt Installer Framework

  1. 网址: http://download.qt.io/official_releases/qt-installer-framework/

  2. 选择2.0.3文件夹,跳转页面选择QtInstallerFramework-win-x86版本,还可可根据目标操作系统,分别选择win,mac,linux版本的打包程序

第二步 打包程序安装和环境变量的配置

  1. 安装QtInstallerFramework-win-x86.exe到指定目录, 本教程安装到D:\Qt

  2. 配置环境变量路径 右键计算机—>属性—–>高级选项卡—->环境变量—->系统变量,添加变量Path的值:D:\Qt\QtIFW2.0.3\bin

  3. 添加Qt installer framework Manual帮助文档到qt creator. 单击qt creator菜单工具—>选项—>左侧选中帮助—>右侧选文档选项卡,单击添加按钮,选中已安装的文档路径.选中ifw.qch文件,然后单击apply,最后单击ok确认。

添加后,就可在帮助索引目录找到Qt Installer Framework Manual

第三步:准好要打包的程序

  1. 注意,qt编译生成release版本程序,默认的exe目录不带一些依赖动态库,笨拙的方法是用Depends.Exe工具查看exe所依赖的库,都拷贝到exe的所在目录,这样就准备好了程序安装的必要文件。更为聪明的做法是用qt自带的工具windeployqt.exe,该执行程序的路径在D:\Qt\Qt5.5.1_msvc2010\5.5\msvc2010\bin下。路径根据qt的安装目录来确定。打开qt命令行窗口,开始菜单里面找,Qt 5.5 32-bit for Desktop…, 命令格式: windeployqt.exe D\exmple.exe(完整文件路径)

工具运行前的目录如下:

工具运行后目录如下图:

发现运行后程序目录已经自动补齐了所有依赖库文件

第四步:以D:\Qt\QtIFW2.0.3\examples\startmenu这个例子为参照,修改自己要打包的程序

  1. 将D:\Qt\QtIFW2.0.3\examples\startmenu文件夹拷贝到桌面,用编辑器打开C:\Users\pc\Desktop\startmenu\config\config.xml文件,修改如下(箭头指示部分)

  2. 用编辑器打开C:\Users\pc\Desktop\startmenu\packages\org.qtproject.ifw.example\meta\installscript.qs

  3. 用编辑器打开C:\Users\pc\Desktop\startmenu\packages\org.qtproject.ifw.example\meta\package.xml

  1. 将要打包的程序文件拷贝至C:\Users\pc\Desktop\startmenu\packages\org.qtproject.ifw.example\data

  2. 打包程序,打开qt命令窗口,转到C:\Users\pc\Desktop\startmenu目录, 然后敲如下命令生成名为DuPaintInstaller.exe的安装包. 命令格式在C:\Users\pc\Desktop\startmenu\README文件中有说明

打包成功如下图,DuPaintInstaller就是安装包:

qt 安装包生成的更多相关文章

  1. qt 安装包生成2

    使用Qt Installer Framework制作安装包 2018年07月01日 03:45:37 大黄老鼠 阅读数:878 标签: qt更多 个人分类: Qt   版权声明:本文为博主原创文章,未 ...

  2. Linux安装包生成工具:checkinstall、makeself

    关键词:checkinstall.dpkg.deb/rpm.makeself等等. checkinstall记录make install安装的文件,生成相应的(Slackware/RPM/Debian ...

  3. VS2008 Windows Form项目安装包生成详解

    2008 Windows Form项目的发布对有经验的程序员来说,可能不值一提,但对很多新手来说却不知道如何操作,因为在很多关于Visual Studio的书籍中也没有相关介绍,权威如<C# 2 ...

  4. 下载Qt安装包

    http://download.qt.io/archive/qt/ 找到下载页面,选择View All Downloads,找你需要的版本

  5. 基于InstallShield2013LimitedEdition的安装包制作

    在VS2012之前,我们做安装包一般都是使用VS自带的安装包制作工具来创建安装包的,VS2012.VS2013以后,微软把这个去掉,集成使用了InstallShield进行安装包的制作了,虽然思路差不 ...

  6. 使用VS2015制作安装包( 含相关的下载链接)

    补充: 在看下面的教程过程中,如果在下面的步聚1中没有 " Visual Studio Installer", 则需要通过下面的链接进行安装 Visual Studio Insta ...

  7. 使用Qt installer framework制作安装包

    一.介绍 使用Qt库开发的应用程序,一般有两种发布方式:(1)静态编译发布.这种方式使得程序在编译的时候会将Qt核心库全部编译到一个可执行文件中.其优势是简单单一,所有的依赖库都集中在一起,其缺点也很 ...

  8. 使用Qt Installer Framework制作软件安装包

    概述 Qt Installer Framework(缩写QIF)是Qt官方用于生成软件安装包的工具.包括Qt Creator和Qt Installer Framework自身的安装包都是由这个工具制作 ...

  9. Qt之程序发布以及打包成exe安装包

    一.简述 Qt项目开发完成之后,需要打包发布程序,而因为用户电脑上没有Qt配置环境,所以需要将release生成的exe文件和所依赖的dll文件复制到一个文件夹中,然后再用 Inno Setup打包工 ...

随机推荐

  1. Unix时间转LInux时间

    private static long getTime() { long currentTimeMillis = System.currentTimeMillis(); long nanoTime = ...

  2. Spark性能优化指南——基础篇

    本文转自:http://tech.meituan.com/spark-tuning-basic.html 感谢原作者 前言 在大数据计算领域,Spark已经成为了越来越流行.越来越受欢迎的计算平台之一 ...

  3. SqlServer 行转一列逗号隔开

    SELECT STUFF( (SELECT ',' + convert(varchar(10),PID) FROM tt WHERE a='老王' FOR xml path('') ),1,1,'' ...

  4. netMarketing类库: 类库说明

    这个类库是作者工作中使用的私人类库,本类库适用于自动化行业的软件工程师使用.如果大家在使用中有任何疑问和建议欢迎联系作者, 或者在页面留言. (一) 引用类库 本类库的环境为.net framewor ...

  5. Web重温系列(三):OracleDependency实现监听数据库变化

    有个小项目(后来由另一个小组以Java开发了),内容是监控一个Oracle数据库.如果其中一个表A有数据变动,则需要将相关内容重组后通过接口发送给B. 通常的解决办法是定时查询,时间间隔可以小一点,还 ...

  6. 如何通过ajax来获取返回值

    preface 今天使用ajax向后端取数据的时候,按照正常的写法,死活return不了值,所以看了下ajax的帮助手册,发现了这个参数async:false,这个参数是说async表示不是异步执行了 ...

  7. 3 ansible-playbook 条件语句-外部变量使用

    外部变量指的是从playbook文件之外获取的数值 lookups file file是我们经常使用的一种lookups的方式,它的原理就是使用python的codecs.open打开文件然后把结果返 ...

  8. opencv利用直方图判断人脸光照质量

    懒得用中文再写一遍了, 直接传送门过去吧. https://medium.com/@fanzongshaoxing/detect-face-in-bad-lighting-condition-usin ...

  9. linux中,当执行rpm -e删除一个软件包时,都做了些什么事

    问题描述: 今天在通过rpm进行删除软件包时,出现了问题,就引发了我对于rpm包执行删除动作时的一些行为做了思考,之前找了很多的文章,后来想如果有debug日志信息,那么不就都清楚了吗 通过打印rpm ...

  10. MySQL-[SIGNAL/RESIGNAL/GET DIAGNOSTICS]的使用

    最近在做 SQL Server 到 MySQL 的迁移(migration),相较于对表和数据的迁移,最令人犯难的还是在功能性存储过程脚本的改写转换(convert),虽说 MySQL 如今是蓬勃发展 ...