Linux下使用appimage打包程序

16 篇文章 1 订阅

一、打包工具

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

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在打包完成后都可以在别的设备上正常执行,这有什么区别求指点。

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

 

 

 

  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
Linux系统下,有两种常用的方法可以打包QT程序。 第一种方法是通过脚本进行打包。这种方法简单方便,但是打包程序不能在其他干净的Linux系统中运行。你可以参考中提到的方法,编写一个脚本文件来进行打包。具体步骤如下: 1. 首先,确保你已经安装了所需的依赖库。你可以使用ldd命令来查找程序所需的共享库。 2. 创建一个脚本文件,可以使用任何你熟悉的文本编辑器。在脚本文件中,你需要指定程序的入口点以及程序所需的共享库路径。 3. 接下来,使用chmod命令给脚本文件添加可执行权限。 4. 最后,运行脚本文件来进行打包打包完成后,你会得到一个包含可执行文件和所需共享库的目录。 但需要注意的是,通过这种方式打包的QT程序不能在其他干净的Linux系统中运行,所以不太推荐使用。 第二种方法是使用linuxdeployqt工具进行打包。这个工具可以方便地将QT程序打包成一个独立的可执行文件,可以在任何Linux环境中直接运行。你可以从中提供的链接下载linuxdeployqt。 使用linuxdeployqt进行打包的步骤如下: 1. 首先,下载并解压linuxdeployqt工具。 2. 将你的QT程序复制到linuxdeployqt的目录中。 3. 打开终端,并切换到linuxdeployqt的目录。 4. 运行以下命令来打包程序: ``` ./linuxdeployqt <path_to_your_qt_program> -appimage ``` 其中,`<path_to_your_qt_program>`是你的QT程序的路径。 5. 打包完成后,你将得到一个AppImage文件,这个文件就是你的打包好的程序。 通过使用linuxdeployqt工具进行打包,你可以得到一个可以在任何Linux环境中直接运行的QT程序。这种方法更加方便和可靠,推荐使用。 参考文献: 目前我接触到的Linux下的QT程序打包方法主要有两种:第一种:通过脚本进行打包,这种方法简单方便,但是通过这种方式打包的QT程序,并不能放到另一台干净的Linux系统下运行,所以不太推荐;第二种:通过Linuxdeployqt进行打包,通过这种方法打包QT程序也很方便,而且打包程序可以放到任何Linux环境下直接运行。下面我将详细介绍以下两种打包方式,大家可以根据自己的实际使用情况任意选择打包方式。 1.下载linuxdeployqt:https://github.com/probonopd/linuxdeployqt/releases
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值