056-第三代软件开发-软件打包

news2024/11/29 17:46:53
头图

第三代软件开发-软件打包

文章目录

  • 第三代软件开发-软件打包
    • 项目介绍
    • 软件打包
      • 1 下载 linuxdepoyqt 工具
      • 2 安装 linuxdepoyqt
      • 3 qmake配置
      • 4 打包程序
    • 总结

关键字: QtQmllinuxdeployqtUbuntuAppImage

项目介绍

欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。

在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。

在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资源消耗,以确保我们的项目在各种平台和设备上都能够高效运行。

无论您是对 QML 和 C++ 开发感兴趣,还是需要我们为您构建复杂的用户界面和后端逻辑,我们都随时准备为您提供支持。请随时联系我们,让我们一同打造现代化、高性能的 QML & C++ 项目!

重要说明☝

☀该专栏在第三代软开发更新完将涨价

软件打包

在我们软件开发到尾声的时候,正式的软件发布就会提升上,在Windows下,我们都知道有windeployqt这个工具协助我们把用到的相关的Qt库以及插件文件夹拷贝到我们程序的目录,完了我们在借助一下安装包制作工具就可以完成一个软件安装包的制作了。

其实在Linux也有这一套这样的流程,只是需要我们稍微动手微操一下即可。那么因为这个Linux 的系统有好多的版本,那么这里咱们仅保证下面教程在Ubuntu下可用,具体版本是 Ubuntu 22.04.

1 下载 linuxdepoyqt 工具

正常的Ubuntu系统是不带这个工具的,包括我们安装完了Qt ,也是不带这个工具的,需要我们手动下载一下,地址贴这里:

https://github.com/probonopd/linuxdeployqt/releases

下载这个对应的AppImage文件就行,如下图所示:

image-20230804223747708

2 安装 linuxdepoyqt

首先到我们的下载目录,修改刚才我们下载的这个AppImage文件的权限,这里可以直接无脑777

sudo chmod 777 linuxdeployqt-continuous-x86_64.AppImage

完了把这个文件复制到/usr/local/bin/linuxdeployqt下面就可以,

sudo cp linuxdeployqt-continuous-x86_64.AppImage /usr/local/bin/linuxdeployqt

这里可以打印一下他的版本测试一下

linuxdeployqt -version

3 qmake配置

这里好多教程都是叫大家先执行下qmake -v 看下Qt的版本,我测试了几次下来发现,基本这一步都是失败的,直接就是显示no such file,所以保险起见,怎么顺序操作一下

  1. 安装 qtchooser

    sudo apt install qtchooser
    
  2. 修改配置文件

    sudo vim /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
    

    里面有两个路径需要配置一下,一个是你Qt的对应版本路径,一个是你的对应版本的bin目录,如下图所示,这里要配置你的路径,不要和我一样

    image-20230804224813340

  3. 完了咱们在执行 qmake -v

    image-20230804225010606

第三步很重要,一定要确认这里的qmake就是编译你程序的qmake,错了很有可能你的程序报缺库了。因为库版本可能不对。

4 打包程序

通常我们打包的程序都是Release版本的,但是正常我们Qt在编译完Release后,你会发现对应文件目录下有大量的中间文件,而这些文件在打包的时候不需要的,或者说你程序运行的时候是不需要的,他们都是为了生成你程序而生成的中间文件,所以这里我们可以把要打包的程序单独复制到一个目录,完了执行打包指令sudo linuxdeployqt App -appimage就可以了,基本大部分博主都是这么介绍的,其实如果你按照这个来,你会发现还有很多问题,你的指令出不来,所以我里还是顺序的建议来一下。

  1. 防止包缺库错误

    sudo apt update
    libpq.so.5
    sudo apt-get install libpq-dev
    
  2. 安装依赖,不然无法运行AppImage

    sudo apt install fuse libfuse2
    
  3. 完了我们在执行 sudo linuxdeployqt App -appimage

    兼容问题

    其实如果你的Ubuntu版本比较行,比如我现在的Ubuntu 22.04版本,执行上面代码其实还是会报错的额,所以需要把第三步的指令换成sudo linuxdeployqt Appname-appimage -unsupported-allow-new-glibc,这样就好了。

  4. 运行程序

    如果顺利,你就会看到一个*.AppImage的文件,这个就是我们打包好的程序了,直接./运行就可以了

总结

这里打包软件应该也是我们日常开发中不常见的,而且规范的公司,这个部分可能都轮不到我们一个工程师来操作。是不是运维干这个,不太懂,没去过大公司。

最后,还是那句话,任何带我们看风景的人,都值得被铭记

参考:https://blog.csdn.net/qq_39072246/article/details/125254270?spm=1001.2014.3001.5506


博客签名2021

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

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

相关文章

自建CA实战之 《0x03 代码签名》

自建CA实战之 《0x03 代码签名》 本文针对Windows平台,介绍如何使用自建CA来签发代码签名证书。 之前的文章中,我们介绍了如何自建CA,以及如何使用自建CA来签发Web服务器证书、客户端证书。 本文将介绍如何使用自建CA来签发代码签名证书。…

坚鹏:中国人寿临沂公司当下中国经济形势与寿险业发展机遇培训

中国人寿保险(集团)公司属国家大型金融保险企业,2016年中国人寿入主广发银行,开启保险、投资、银行三大板块协同发展新格局。2022年,集团公司合并营业收入站稳万亿平台;合并总资产突破6万亿元大关。中国人寿…

基恩士软件的基本操作(五,日志记录与使用)

目录 基恩士是如何保存日志的? 如何使用日志功能 查看DM10的值1秒加1的记录日志 设定id与储存位置 软元件设定( 日志ID有10个(0~10),每一个ID最多添加512个软元件) 设定触发 执行日志的梯形图程序 触…

Windows 7隐藏用户测试

请注意Window 7是在虚拟机上安装的,ip是192.168.0.108。 下边都是在虚拟机Window 7上操作,直到最后远程连接才在自己本机Windows 11上操作。 需要同时按下Windowsr,然后输入cmd,再点击确定。 在命令上里边输入net user可以显示一下用户。 …

单链表原来是这样实现的!

文章目录 前言1. 链表的概念及结构1.1在链表里,每节“车厢”是什么样的呢?1.2为什么还需要指针变量来保存下⼀个节点的位置? 2. 单链表的实现1. 定义结构体(Seqlist)2. 打印函数(SLTPrint)小插曲,创建节点函数CreateNode3. 尾插函…

一种LED驱动专用控制电路

一、基本概述 TM1620是一种LED(发光二极管显示器)驱动控制专用IC,内部集成有MCU数字接口、数据锁存 器、LED驱动等电路。本产品质量可靠、稳定性好、抗干扰能力强。主要适用于家电设备(智能热 水器、微波炉、洗衣机、空调、电磁炉)、机顶盒、电子称、…

清分系统对账

流程1的问题: 1、通道一天的数据会有多少,有二三十万条交易数据吗? 2、如果数据过大都存到一个Map里面去,机器不得挂了 步骤1总结: 1、通过channelNo获取通道T的数据,因为通道是一天一个文件给过来。在转…

xxljob学习笔记01(小滴课堂)

分布式调度xxl-job源码部署和数据库建立: 在idea中打开安装包: 创建数据库: 建表: 在项目里: 在navicat里运行语句即可: 修改数据库地址和用户名,密码: 配置令牌,不然谁…

WiFi的CSMA/CA竞争窗口流程简述

1、若站点最初有数据要发送(不是发送不成功再进行重传的那种),且检测到信道空闲,在等待DIFS后,就发送整个数据帧。 2、否则,站点执行退避算法。一旦检测到信道忙,就冻结退避计时器。只要信道空…

卸载idea2017-2023步骤 (卸载干净)

1. 右击打开软件所在位置 2. 找到卸载程序 Uninstall.exe, 双击打开 3. 开始卸载 4. 注册表删除 打开winR, 输入命令regedit Ctrl F查找 "jetbrain" 删除查找出来的文件夹。卸载干净, 即可安装新idea

【Amazon】基于Amazon提供的托管式EKS通过eksctl命令部署Kubernetes集群

文章目录 一、使用CloudFormation创建堡垒机二、安装AWS CLI命令行工具三、安装eksctl命令行工具四、创建集群角色4.1 集群服务角色创建4.2 集群节点组角色创建 五、创建 EKS集群六、登录EKS控制台七、参考链接 一、使用CloudFormation创建堡垒机 导航至CloudFormation&#xf…

【前沿技术了解】web图形Canvas、svg、WebGL、数据可视化引擎的技术选型

目录 Canvas:HTML5新增 Canvas标签(画布) 渲染上下文canvas.getContext(contextType[, contextAttributes]) 上下文类型(contextType) 上下文属性 (contextAttributes) 示例 动画 setInterval(function, delay)…

【go入门】表单

4.1 处理表单的输入 先来看一个表单递交的例子&#xff0c;我们有如下的表单内容&#xff0c;命名成文件login.gtpl(放入当前新建项目的目录里面) <html> <head> <title></title> </head> <body> <form action"/login" meth…

软件介绍01- koodo Reader支持所有电脑平台!

1 软件简介 Koodo Reader软件是一款阅读器&#xff0c;可以阅读各种格式的文档。用来代替kindle。界面简洁&#xff0c;好看&#xff0c;阅读功能强大&#xff0c;而且可以多设备同步。 因为开源&#xff0c;所以免费。而且支持所有电脑平台&#xff01; 支持格式&#xff1a…

kafka2.x常用命令:创建topic,查看topic列表、分区、副本详情,删除topic,测试topic发送与消费

原创/朱季谦 接触kafka开发已经两年多&#xff0c;也看过关于kafka的一些书&#xff0c;但一直没有怎么对它做总结&#xff0c;借着最近正好在看《Apache Kafka实战》一书&#xff0c;同时自己又搭建了三台kafka服务器&#xff0c;正好可以做一些总结记录。 本文主要是记录如…

解密Kafka主题的分区策略:提升实时数据处理的关键

目录 一、Kafka主题的分区策略概述1.1 什么是Kafka主题的分区策略&#xff1f;1.2 为什么分区策略重要&#xff1f; 二、Kafka默认分区策略2.1 Round-Robin分区策略 三、自定义分区策略3.1 编写自定义分区器3.2 最佳实践&#xff1a;如何选择分区策略 四、分区策略的性能考量4.…

FO-like Transformation

参考文献&#xff1a; [RS91] Rackoff C, Simon D R. Non-interactive zero-knowledge proof of knowledge and chosen ciphertext attack[C]//Annual international cryptology conference. Berlin, Heidelberg: Springer Berlin Heidelberg, 1991: 433-444.[BR93] Bellare M…

粉丝提问:写博文怎样才能变现啊?

文章目录 粉丝提问&#xff1a;写博文怎样才能变现啊&#xff1f;我总结了一下博客变现的几个途径&#xff1a;另外做技术博主的五大好处 后记 粉丝提问&#xff1a;写博文怎样才能变现啊&#xff1f; type: Post status: Published date: 2023/11/26 tags: 推荐 category…

为什么PCB板大多数都是绿色的?

什么时候开始接触到PCB板的呢&#xff1f;也许是是把家里的电视遥控器拆开的时候&#xff0c;也许是你的小霸王学习机游戏手柄给按坏拆开的时候&#xff0c;也许那时候你还不知道这叫PCB电路板。然后就是大学里使用嘉立创免费打板的时候&#xff0c;有一个选项绿色板还是黑色板…

Java 文件常用操作与流转换

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…