qt打包生成exe_Qt-Installer-Framework使用(一)

2023-10-27

Qt-Installer-Framework (以下简称QIFW) 是 Qt 官方出品的一款功能强大的打包工具,可以满足我们日常使用中大部分需求.

环境说明

|OS | Qt | MinGW | QIFW| |---|---| ---| ---| |Windows7 64| Qt 5.7.1| 5.3 | 3.0.6|

目前使用上述平台环境进行测试验证,后续验证完在补充。

支持平台

依赖于 Qt 的跨平台优势,QIFW 目前支持以下几个平台:

  • Microsoft Windows XP,以及最新版本 W7,W8,W10...
  • Ubuntu Linux 11.10,以及最新版本;
  • OS X 10.7,以及最新版本;

使用

QIFW 有两种方式供我们来使用:

  • 从源码编译生成 exe 打包;
  • 直接下载官方编译好的 exe 来进行打包;

从源码编译

首先从官方下载源码,Qt官方需要根据自己目前安装的Qt版本进行选择,否则编译会失败!

我这里选择了3.0.6,此版本需要 Qt 5.6以上版本.

编译

  • 动态编译
  • 静态编译

目前我使用静态编译进行构建,之前动态编译时出现一些符号链接错误,最后连接库文件失败,后续抽时间在研究为啥。

为了方便编写一个脚本直接编译即可,脚本内容如下所示:

@echo off 
set work_path="%cd%"

echo %work_path%

cd %work_path%

::临时文件目录
set BUILD_NAME=%work_path%tempFilewin32Release
::Qt静态库路径
set QMAKE_PATH=D:Qt5.7.0-mingw32-rel-staticbin

cd %BUILD_NAME%

%QMAKE_PATH%qmake -spec win32-g++ "CONFIG+=release" ../../../installerfw.pro

mingw32-make -j4

pause

执行脚本后大概不到10分钟就编译完成了,此时会在当前工程目录下 bin下生成可执行文件:

直接使用官方编译好的 exe

编译打包

拷贝Example下的例子到bin目录下

编写一个脚本(当前工程bin目录下),命令如下所示:

binarycreator.exe -c scconfigconfig.xml -p scpackages my_installer.exe -v

如果执行成功,则会在当前路径下生成打包后的 exe 软件.

关于详细配置以及个性化定制再下一篇文章介绍.

参考文章

  • 24
  • cnblog
  • Qt官方
作者:鹅卵石
时间:  2019年06月06日22:54:35
版本:V 0.0.1
邮箱:kevinlq@163.com
版权:本博客若无特别声明,均属于作者原创文章,欢迎大家转载分享。但是,
希望您注明来源,并留下原文地址,这是对作者最大的尊重,也是对知识的尊重。

如果您对本文有任何问题,可以在下方留言,或者Email我.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

qt打包生成exe_Qt-Installer-Framework使用(一) 的相关文章

随机推荐

  • HttpServer:一款Windows平台下基于IOCP模型的高并发轻量级web服务器

    HttpServer的特点 1 完全采用IOCP模型 实现真正的异步IO 高并发 高可靠 2 支持4G以上文件下载 3 支持断点续传 4 轻量级 体积小 服务器文件仅200多K 无任何依赖库 5 支持CGI网关 通过CGI xml可动态配置
  • 二进制补码运算

    二进制负数的在计算机中采用补码的方式表示 很多人很好奇为什么使用补码 直接使用原码表示多好 看上去更加直观和易于计算 然而事实告诉我们 这种直观只是我们人类的一厢情愿罢了 在计算机看来 补码才是它们最想要的 那么 为什么计算机使用补码更好
  • Flask对数据库的增删改查

    一 从数据库获取数据返回 在配置好连接数据库的文件后 编写类视图 定义get方法 使用marshal返回数据 class SubResorce Resource def get self ret Sub query all return m
  • IDEA上传项目提示Push rejected: Push to origin/master was rejected的解决办法

    idea中 发布项目到码云 push 提示 push to origin master war rejected 解决方案如下 切换到自己项目所在的目录 右键选择git bash here 在窗口中依次输入命令 git pull git p
  • DVWA靶场实战

    提示 本文主要讲解DVWA靶场的主要功能和用处 简单的了解并学习DVWA靶场实战 不断地更新 一 DVWA靶场的功能介绍 DVWA共有十个模块 分别是 Brute Force 暴力 破解 Command Injection 命令行注入 CS
  • 输出字符串的子串

    我们经常碰到这样一个问题 怎样快速输出一个字符串的子串 这种问题通常有两种形式 1 输出连续子串 例如 假设字符串的长度为n 其非空子串的数目为你n n 1 2个 例如字符串 abc 的连续子串有 a b c ab bc abc 利用代码实
  • Flink 1.10编译实战(CDH版本)

    Flink1 10增加了一些新的特性 Flink 1 10 0 正式宣告发布 作为 Flink 社区迄今为止规模最大的一次版本升级 Flink 1 10 容纳了超过 200 位贡献者对超过 1200 个 issue 的开发实现 包含对 Fl
  • mysql组内排序

    比如说要获取班级的前3名 oracle 可以用 over partition by 来做 mysql就可以用GROUP CONCAT GROUP BY substring index实现 考试表 DROP TABLE IF EXISTS t
  • NLP:nltk+stanfordNLP

    1 NLTK import nltk form nltk book import 2 NLTK中使用stanfordNLP http www zmonster me 2016 06 08 use stanford nlp package i
  • SpringCloud Alibaba史上最强详解与史上最系统框架搭建

    框架实现代码资源地址 springCloud dataservice bus zip springcloudalibaba搭建 Java文档类资源 CSDN下载 目录 一 官网集合 Springboot官网 中文文档 Mybatis官网 S
  • TCP与UDP(非常详细)

    笔记记录 目录 前言 TCP UDP TCP UDP 区别 总结 前言 TCP IP模型是一些列协议的总称 TCP UDP IP FTP HTTP ICMP SMTP 这些协议可以划分为四层 链路层 网络层 传输层 应用层 TCP和UDP都
  • Oracle 11g客户端连接Oracle 12c服务器错误 ORA-28040

    问题描述 oracle服务器端版本 oracle 12 2 0 1 0 oracle客户端版本 oracle 11 2 0 1 0 在客户端访问oracle 12c提示如下错误 sqlplus scott scott 192 168 100
  • JSON是什么?如何正确理解?

    1 背景介绍 什么是JSON JSON JavaScript Object Notation JS 对象标记 是一种轻量级的数据交换格式 它基于 ECMAScript w3c制定的js规范 的一个子集 采用完全独立于编程语言的文本格式来存储
  • 遗传算法解释

    遗传算法是一种基于自然遗传和进化规律的人工智能算法 它通过模拟生物进化的过程 来解决各种复杂问题 遗传算法的基本流程如下 初始化 随机生成一些解作为初始种群 评估 评估每个解的适应度 根据适应度的高低决定哪些解具有更好的进化前景 交叉 选择
  • 最大连续区间和C++

    在求连续区间的最大和是一种动态规划的常见例题 那么如何能快速求算得一个长度为n的数组的最大连续区间和 第一反应当然是 通过暴力计算每一个区间的和进而求其最大值 但时间复杂度到达了不可接受的O n 2 而比较好的算法如下 include
  • 软件质量属性:可测试性

    测试的目的 尽可能多地发现软件中存在的BUG 不符合需求的部分或者是未实现的需求 测试的意义 尽可能确保软件正式上线运行后不出现问题 减少潜在的风险和损失 可测试性定义 指软件测试的难易度和效率 如果测试结果越直观 测试效率越高 可测试性就
  • 【100天精通Python】Day55:Python 数据分析_Pandas数据选取和常用操作

    目录 Pandas数据选择和操作 1 选择列和行 2 过滤数据 3 添加 删除和修改数据 4 数据排序 Pandas数据选择和操作 Pandas是一个Python库 用于数据分析和操作 提供了丰富的功能来选择 过滤 添加 删除和修改数据 1
  • VUE element-ui之table表格内容样式(颜色)修改

    要求将表格中的负数显示为红色 实现步骤 定义样式方法
  • Motion Partition

    Object Boundary Based motion partition scheme e is the best approximate of foreground picture but wastes coding d is a t
  • qt打包生成exe_Qt-Installer-Framework使用(一)

    Qt Installer Framework 以下简称QIFW 是 Qt 官方出品的一款功能强大的打包工具 可以满足我们日常使用中大部分需求 环境说明 OS Qt MinGW QIFW Windows7 64 Qt 5 7 1 5 3 3