Linux APPImage打包后遇到的坑

1、遇到的问题

1、打包后的appimage双击运行时QLocalServer单例未生效
2、修复单例问题后,启动时有两个进程,下一个应用运行后只退出了一个进程,又新增了两个进程
3、打包后在某些机器上无法运行

2、解决方案

问题1:

	猜测和appimage机制有关,查看官方文档上有一段说明是不能使用绝对路径,查看QLocalServer文档介绍说在windows上
	是管道实现,linux上是文件实现,此时就猜测是QLocalServer不能在appimage上使用,但又发现通过命令行启动是正常的,通
过打日志发现调试运行和appimage运行QLocalSocket的servername是不一样的,此时就找到servername传的值是
QApplication::applicationName(),查看文档说是如果未设置时会是可执行文件名,但不能解释每次双击运行会不一样,猜测
是appimage做了什么鬼操作,导致每次双击运行会产生不一样的可执行文件,此时真相大白,只要每次调用 
QApplication::setApplicationName设置一个固定的值就可以解决问题

问题2:

从网上未搜到任何相关现象,官网上也没有任何相关的介绍,只是介绍说运行时会产生两个进程,退出后会都退出,最后通过
更新appimage解决

问题3:

查看官网https://docs.appimage.org/packaging-guide/advanced/troubleshooting.html?highlight=lib
这个是appimage的一个缺陷,可以使用低版本glibC++来打包,这样全平台都可运行
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值