Linux下使用appimage打包程序

本文介绍如何使用linuxdeployqt和patchelf工具打包Linux应用程序,并提供了解决常见问题的方法。文章还分享了作者在打包过程中的注意事项及测试结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、打包工具

首先需要下载打包的工具,打包工具是以下两种:

1.linuxdeployqt

下载地址:https://github.com/probonopd/linuxdeployqt/releases

a.下载下图所标记的工具:

b.配置linuxdeployqt,命令行输入以下指令:

sudo mv linuxdeployqt-continuous-x86_64.AppImage linuxdeployqt
sudo mv ./linuxdeployqt /usr/local/bin
chmod 777 linuxdeployqt
sudo linuxdelpoyqt --version //查看linuxdeployqt版本
linuxdeployqt 4 (commit 988d294), build 481 built on 2018-02-02 15:05:23 UTC

显示正确的版本表明安装成功。

2、patchelf

下载地址:https://nixos.org/releases/patchelf/patchelf-0.9/patchelf-0.9.tar.gz

a、下载完成后解压,进入到patcherlf-0.9目录:

b、在该目录下命令行输入以下命令:

./configure
make
sudo make install

c、以上命令执行完之后,进入到/usr/local/bin输入ll命令:

如上图所示就会看到该目录下会出现patchelf文件。

二、打包程序

1、命令行输入mkdir output创建一个文件夹,把QtCreator Release模式下编译的可执行文件拷贝到output中。

mkdir output
cp build-jincheng-Desktop_Qt_5_10_0_GCC_64bit-Release/jincheng output

2、进入output目录:

cd output
sudo linuxdeployqt jincheng

一般情况下以上两步就可以完成打包,但也有意外,以下是我打包过程中遇到的问题和解决发方案:

三、遇到的问题解决方案

遇到的问题:qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory

解决方案:sudo vim /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf

保存退出,执行第二步的操作即可完成打包。

注意点:

1、打包时一定要是超级用户,虽然不是超级用户也可以打包,在其他设备也可以执行,但有时会出现异常退出的情况,提示:核心已转储。

2、在拷贝程序包的时候,一定要对该包进行压缩,压缩命令:tar cvf output.tar.gz output,压缩完成后才可以进行拷贝,无法直接拷贝未压缩的程序包。尝试使用zip压缩失败,没有尝试其他压缩方式,有兴趣的小伙伴可以试试。

3、拷贝到别的设备上之后输入以下命令:

tar xvf output.tar.gz
cd output
./Apprun

即可完成该程序在其他设备运行。

疑惑:

我在网上发现打包时输入的命令是:sudo linuxdeployqt jincheng -appimage,这个命令打包和我输入的这个命令:sudo linuxdeployqt jincheng在打包完成后都可以在别的设备上正常执行,这有什么区别求指点。

测试:通过测试可以在别的设备上正常执行,有什么问题的小伙伴提出来大家一起讨论解决,共同进步。

 

 

 

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值