麒麟系统开发笔记(八):在国产麒麟系统上使用linuxdeployqt发布qt程序

国产麒麟系统相关开发

上一篇:《麒麟系统开发笔记(七):在线安装软件后,提取其安装包,部署目标机使用离线软件包方式安装软件》
下一篇:敬请期待…

前言

在ubuntu上发布qt程序相对还好,使用脚本,但是在麒麟上发布的时候,因为银河麒麟等不同版本,使用脚本就不太兼容,同时为了实现直接点击应用可以启动应用的效果,使用linuxdeployqt发布qt程序。

补充

在ubuntu上发布程序遇到xcb问题,当我们将其部署到另外同样环境但是未装qt的环境下,运行起来一部分是xcb文件,有一部分解决后可以正常运行启用,另一部分直接段错误,程序宕掉(提示,段核心错误,已转存什么的),使用linuxdeployqt能解决此问题,也就是使用脚本打包的升级版本。

相关博客

《Qt实用技巧:ubuntu发布程序打包流程(解决插件xcb加载失败) 》
《关于 国产麒麟系统双击启动脚本方式后无法启动应用程序 的解决方法》

linuxdeployqt

Linux部署工具linuxdeployqt将应用程序作为输入,并通过将应用程序使用的资源(如库、图形和插件)复制到一个包中使其自包含。结果包可以作为AppDir或AppImage分发给用户,也可以放入交叉分发包中。它可以作为构建过程的一部分,在CMake、qmake和make等系统中部署用C、C++和其他编译语言编写的应用程序。当用于基于Qt的应用程序时,它可以绑定运行应用程序所需的Qt的特定最小子集。

源码下载地址

csdn粉丝0积分下载地址:https://download.csdn.net/download/qq21497936/86803960
gitcode地址:https://gitcode.net/mirrors/probonopd/linuxdeployqt

linuxdeployqt编译(麒麟系统,ubuntu)

步骤一:下载解压

步骤三:安装依赖第三方库

步骤四:使用cmake配置

选择对应的路径,然后使用默认unix makefile方式配置:

步骤六:生成generate

步骤八:安装到系统目录

没有make install这个,手动移动到/usr/local/bin

linuxdeployqt打包流程

新建一个工程

这里要将Qt引入环境,为了不影响系统,使用脚本引入,每次使用之前使用source env.sh引入即可。

原因

源码中做了判断,不是源码编译问题,所以要修改源码。

解决

找到main.cpp源码,将这一段(在第190行左右)注释掉:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月21日
下一篇 2022年9月21日

相关推荐