visual studio打包QT工程发布exe安装包

一、实验环境

软件版本下载链接
visual studioMicrosoft Visual Studio Community 2022 (64 位) - Current 版本 17.7.5
QTv6.6.3
NSISv3.10官网 或 百度云1234
Windows11

二、程序准备

1、程序生成

使用 visual studio 打开工程,选择 Release 模式后,点资源生成。
在这里插入图片描述
Release 资源生成后,打开工程目录下,进入 x64/Release 文件夹 下可以看到工程资源。
在这里插入图片描述

三、程序打包

1、依赖生成

  1. 打开QT命令框,一般从Windows启动界面搜索QT,匹配出现QT MSVC命令框点击即可。也可根据实际安装路径寻找。
    在这里插入图片描述
    在这里插入图片描述
  2. cd 进入已经生成的 Release 资源目录,我的程序资源目录为D:\my_project\c++_project\OfflineDataParser\x64\Release)
    在这里插入图片描述
  3. 因为 Release 文件夹下资源缺少QT等组件依赖,所以需使用Qt自带的 windeployqt.exe 工具,用于拉取依赖创建应用程序发布包。包名为工程生成的exe文件
    windeployqt 包名
    
    在这里插入图片描述
    下图为依赖拉取完毕的目录资源截图
    在这里插入图片描述

3、发布文件夹准备

  1. 新建程序发布版本文件夹,例如我的程序当前版本为v2.0.2,在目录下创建v2.0.2文件夹,并将程序 logo 复制到当前目录下。
    在这里插入图片描述
  2. 进入” v2.0.2” 目录,创建” nsis” 文件夹(用于存放nsis配置文件) 和 ” 依赖” 文件夹(用于存放程序资源)
    在这里插入图片描述
  3. 进入”依赖” 文件夹,创建 “配置” 和 ”源” 两个文件夹
    ” 配置” 文件夹存放程序所用到的自定义资源,例如我的程序用到config外部资源。同时将程序图标放在该目录下。
    在这里插入图片描述
    ”源” 文件夹存放 Release 生成的资源。将 之前 Release 文件夹下所有文件复制到 ”源” 文件夹下,同时将里面的程序包移动到 “v2.0.2“ 文件夹下,我的程序包名为 ”OfflineDataParser.exe“
    在这里插入图片描述在这里插入图片描述

2、安装NSIS

  1. 安装NSIS程序,安装过程这里不做过多介绍,下图为NSIS程序已经安装完成的主界面。
    在这里插入图片描述

3、新建NSIS脚本

  1. 新建NSIS脚本
  • 点击文件 -> 新建脚本:向导 -> 弹窗(下一步),按照提示填入信息,如下图咱们填写应用打包的程序名为 ”番茄“,版本改为 2.0.2 ,点击下一步。
    在这里插入图片描述

  • 选择程序 logo 图标
    在这里插入图片描述

  • 修改发布程序名称为 “番茄”,然后选择选择发布安装程序文件路径,在 “v2.0.2” 下创建 “番茄” 文件夹,然后打开保存。(默认不选择保存文件夹路径,安装包则保存到nsis模板同一级目录下)。
    在这里插入图片描述

    • 选择安装语言为中文,点击下一步
      在这里插入图片描述
  • 如果没有授权文件 则清空,下一步
    在这里插入图片描述

  • 删除两个默认路径文件,添加 ”依赖/OfflineDataParser.exe“ 文件,再添加 依赖文件夹下的 “配置” 和 ”源“ 文件夹,点击下一步
    在这里插入图片描述

  • 下一步
    在这里插入图片描述

  • 下一步
    在这里插入图片描述

  • 下一步
    在这里插入图片描述

  • 选择保存脚本,以便下次发布程序新版本时用作模板,点击完成
    在这里插入图片描述
    在这里插入图片描述

  • 已经生成的脚本模板
    在这里插入图片描述
    注意,要在文本中找到 CreateShortCut “$DESKTOP \番茄.lnk” “$INSTDIR\OfflineDataParser.exe” 这一行,后面增加以下内容,这样才能保证程序的图标正常显示。logo-ico.ico 为程序图标的名称。

     "" "$INSTDIR\logo-ico.ico"
    

    在这里插入图片描述

4、编译发布

  1. 编译脚本
    在这里插入图片描述
  2. 完成编译
    在这里插入图片描述
    自此发布 exe 安装包完毕。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/862880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学生宿舍管理系统

摘 要 随着高校规模的不断扩大和学生人数的增加,学生宿舍管理成为高校日常管理工作中的重要组成部分。传统的学生宿舍管理方式往往依赖于纸质记录和人工管理,这种方式不仅效率低下,而且容易出错,无法满足现代高校管理的需求。因此…

金融科技:重塑用户体验,驱动满意度飙升

随着科技的飞速发展,金融科技(FinTech)已经深入到我们生活的每一个角落,从日常支付到投资理财,再到跨境汇款,它都在悄无声息地改变着我们的金融行为。而在这背后一个不可忽视的驱动力就是金融科技对用户体验…

NoSQL之Redis集群--主从复制、哨兵模式、群集模式

目录 一、三大高可用方案 二、Redis 主从复制 1.主从复制的作用 2.主从复制流程 3.搭建Redis 主从复制 三、Redis 哨兵模式 1.哨兵的核心功能 2.哨兵模式的作用 3.哨兵结构组成 4.故障转移机制 5.主节点的选举 6.搭建Redis 哨兵模式 四、Redis 群集模式 1.概念 …

GIT版本管理工具轻松入门 | TortoiseGit

目录 一、下载git 二、下载tortoisegit(可视化git) 三、Git本地仓库创建 四、git克隆 五、添加,提交,推送,拉取 六、分支 七、冲突 八、忽略文件(修改gitignore文件) 一、下载git 安装…

大数据信用报告查询应该选什么样的平台?

随着大数据技术的不断发展,大数据信用报告查询平台也应运而生。这些平台通过数据挖掘和分析,为个人提供有关大数据信用的详细报告,帮助他们在做出决策时获得更多的信息。然而,面对众多的大数据信用报告查询平台,如何选…

Qt信号槽的坑

1、重载的信号(以QSpinBox为例) 像是点击按钮之类的信号槽很好连接,这是因为它的信号没有重载,如果像SpinBox那样有重载信号的话(Qt5.12的见下图,不过Qt5.15LTS开始就不再重载而是换信号名了)&…

KVB外汇:澳元/美元、澳元/纽元、英镑/澳元的走势如何?

摘要 本文对近期澳元/美元、澳元/纽元、英镑/澳元的技术走势进行了详细分析。通过对关键支撑位和阻力位的分析,我们可以更好地理解澳元在不同货币对中的表现。随着全球经济形势的变化,各国央行的货币政策对外汇市场的影响也愈发明显。本文旨在帮助投资者…

牛客小白月赛97:D走一个大整数迷宫

链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 给一个 nmn\times mnm 矩阵迷宫, 第 iii 行第 jjj 列的值为 ci,jc_{i,j}ci,j​ ,LHLHLH 在迷宫中迷路了,他需要你的帮助。 LHLHLH 当前在 (1,1)(1…

加固三防平板如何提高轨道交通系统的运营效率?

在当今快节奏的社会中,轨道交通系统作为城市交通的重要组成部分,其运营效率的提升对于缓解交通拥堵、满足人们的出行需求以及促进城市的发展具有至关重要的意义。而加固三防平板作为一种先进的技术设备,正逐渐在轨道交通领域发挥着关键作用&a…

机器人控制系列教程之Simulink中模型搭建(1)

机器人模型获取 接上期:机器人控制系列教程之控制理论概述,文中详细讲解了如何通过Solidworks软件导出URDF格式的文件。文末提到了若需要将其导入到Simulink中可在命令行中输入smimport(urdf/S_Robot_urdf.urdf),MATLAB将自动打开Simulink以…

《数据结构与算法基础 by王卓老师》学习笔记——1.4算法与算法分析

一、算法 1.1算法的研究内容 1.2算法的定义 1.3算法的描述 以下是算法的自然语言描述 以下是算法的传统流程图表示 以下是NS流程图表示 1.4算法和程序的区别与联系 1.5算法的五个特性 1.6算法设计的要求 Robustness也称为鲁棒性 二、算法分析 2.1算法时间效率的度量 2.1.1事…

JavaParser抽取测试用例对应的被测方法

背景介绍 博主目前要做的工作需要将一个java项目的所有RD手写的测试用例和被测方法对应起来,最后将得到的结果存入一个json文件。 本教程以项目GitHub - binance/binance-connector-java 为例。 结果展示 最终会得到一个 funcTestMap.json,里面存放着…

快速清理Word中的嵌套表格

实例需求:Word文档中表格有的单元格中包含嵌套表格(注意其中表格中有合并单元格),如下图所示。 现在需要删除单元格顶部的嵌套表格(如上图中的表格1和表格3),如下图所示,如果表格较多…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 数字排列游戏(200分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 &#x1f…

Elasticsearch-Rest-Client

Elasticsearch-Rest-Client&#xff1a;官方RestClient&#xff0c;封装了ES操作&#xff0c;API层次分明&#xff0c;上手简单。 1. 导入依赖 <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high…

14-6 小型语言模型在商业应用中的使用指南

人工智能 (AI) 在商业领域的发展使众多工具和技术成为人们关注的焦点&#xff0c;其中之一就是语言模型。这些大小和复杂程度各异的模型为增强业务运营、客户互动和内容生成开辟了新途径。本指南重点介绍小型语言模型、它们的优势、实际用例以及企业如何有效利用它们。 基础知识…

Windows 系统 Solr 8.11.3 安装详细教程(最新)

Windows 系统 Solr 8.11.3 安装详细教程 说明什么是Solr下载与解压如何启动启动命令&#xff1a;浏览器中打开dashboard其他命令查看关闭命令 说明 本次只是简单安装&#xff0c;为了在项目中使用&#xff0c;如果在公开服务器中安装需要更改开放端口&#xff0c;配置权限等。 …

Python28-1 机器学习算法之决策树

决策树&#xff08;Decision Tree&#xff09; 决策树算法是一种常用的机器学习算法&#xff0c;属于监督学习范畴。它可以用于分类和回归任务&#xff0c;具有易于理解和解释的特点。决策树通过递归将数据分割成更小的子集&#xff0c;构建一个树形结构&#xff0c;其中每个节…

iOS开发中用到的自定义UI库

文章目录 前言cell 左右滑动菜单日历组件仿QQ 侧滑抽屉仿探探、陌陌的卡牌滑动库头部缩放视图自定义UITabbar刮刮乐广告横幅 前言 本文中的UI组件&#xff0c;是作者在移动应用开发中都用到过的。 确实&#xff0c;找到对的三方库可以快速帮助我们构建App, 极大程度上提高了生…

Websocket在Java中的实践——最小可行案例

大纲 最小可行案例依赖开启Websocket&#xff0c;绑定路由逻辑类 测试参考资料 WebSocket是一种先进的网络通信协议&#xff0c;它允许在单个TCP连接上进行全双工通信&#xff0c;即数据可以在同一时间双向流动。WebSocket由IETF标准化为RFC 6455&#xff0c;并且已被W3C定义为…