本文主要是介绍056-第三代软件开发-软件打包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
第三代软件开发-软件打包
文章目录
- 第三代软件开发-软件打包
- 项目介绍
- 软件打包
- 1 下载 linuxdepoyqt 工具
- 2 安装 linuxdepoyqt
- 3 qmake配置
- 4 打包程序
- 总结
关键字:
Qt
、
Qml
、
linuxdeployqt
、
Ubuntu
、
AppImage
项目介绍
欢迎来到我们的 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文件就行,如下图所示:
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,所以保险起见,怎么顺序操作一下
-
安装 qtchooser
sudo apt install qtchooser
-
修改配置文件
sudo vim /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
里面有两个路径需要配置一下,一个是你Qt的对应版本路径,一个是你的对应版本的bin目录,如下图所示,这里要配置你的路径,不要和我一样
-
完了咱们在执行
qmake -v
第三步很重要,一定要确认这里的qmake就是编译你程序的qmake,错了很有可能你的程序报缺库了。因为库版本可能不对。
4 打包程序
通常我们打包的程序都是Release版本的,但是正常我们Qt在编译完Release后,你会发现对应文件目录下有大量的中间文件,而这些文件在打包的时候不需要的,或者说你程序运行的时候是不需要的,他们都是为了生成你程序而生成的中间文件,所以这里我们可以把要打包的程序单独复制到一个目录,完了执行打包指令sudo linuxdeployqt App -appimage
就可以了,基本大部分博主都是这么介绍的,其实如果你按照这个来,你会发现还有很多问题,你的指令出不来,所以我里还是顺序的建议来一下。
-
防止包缺库错误
sudo apt update libpq.so.5 sudo apt-get install libpq-dev
-
安装依赖,不然无法运行AppImage
sudo apt install fuse libfuse2
-
完了我们在执行
sudo linuxdeployqt App -appimage
兼容问题
其实如果你的Ubuntu版本比较行,比如我现在的Ubuntu 22.04版本,执行上面代码其实还是会报错的额,所以需要把第三步的指令换成
sudo linuxdeployqt Appname-appimage -unsupported-allow-new-glibc
,这样就好了。 -
运行程序
如果顺利,你就会看到一个*.AppImage的文件,这个就是我们打包好的程序了,直接
./
运行就可以了
总结
这里打包软件应该也是我们日常开发中不常见的,而且规范的公司,这个部分可能都轮不到我们一个工程师来操作。是不是运维干这个,不太懂,没去过大公司。
最后,还是那句话,任何带我们看风景的人,都值得被铭记
参考:https://blog.csdn.net/qq_39072246/article/details/125254270?spm=1001.2014.3001.5506
这篇关于056-第三代软件开发-软件打包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!