1、准备linuxdepoyqt打包工具
下载linuxdeployqt的程序(打包qt程序的工具)
下载链接:https://github.com/probonopd/linuxdeployqt/releases
下载appimage的包 linuxdeployqt-countinuous-x86_64.AppImage
更改安装包权限
sudo chmod 777 linuxdeployqt-countinuous-x86_64.AppImage
拷贝到 /usr/local/bin目录下
sudo cp linuxdeployqt-countinuous-x86_64.AppImage /usr/local/bin/linuxdeployqt
测试, 打印版本信息,检查是否正确安装
linuxdeployqt -version
输出结果如下所示
若是ARM,linuxdeplpoyqt 需要进行编译安装
2、检查qmake环境变量
(1)在终端命令行中输入qmake -v检查qmake是否有正确的qmake版本
如果qmake版本和当前使用的一致则执行步骤3
(2)若显示的qmake版本不正确或者no such file,执行如下操作
sudo vim /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
根据自己电脑名称更改pc_name,修改default.conf文件内容如下所示:
/home/pc_name/Qt5.12.12/5.12.12/gcc_64/bin
/home/pc_name/Qt5.12.12/
(3)若如下显示
执行
sudo apt install qtchooser
安装成功后,再次执行步骤(2)
3.进行打包
将编译好的qt程序编译输出的可执行文件App(Release版本)放到一个空目录下,执行如下命令
sudo linuxdeployqt App -appimage
该命令会自动复制所需库文件。
自动生成的.desktop文件分类报错
打开自动生成的Application.desktop进行编辑,添加Categories = Application;(注意分号不可省略)
sudo vim default.desktop
添加Categories = Application;
然后重新执行
sudo linuxdeployqt Appname-appimage -unsupported-allow-new-glibc
4.生成的Application-x86 _64.AppImage为打包好的软件
./Application-x86_64.AppImage或
sudo ./Application-x86_64.AppImage
即可运行
注:遇到问题
(1)执行步骤3的命令后若提示缺少库,安装对应的环境。如libpq.so.5
sudo apt update
libpq.so.5
sudo apt-get install libpq-dev
(2)部分系统可能无法运行AppImage文件会出现如下提示:
可通过以下命令解决:
sudo apt install fuse libfuse2
(3)兼容性问题
本打包方法是在Ubuntu16.04系统使用的,打包后的软件可以在更高版本的系统中运行。由于Linuxdelpoyqt的原因,在高版本直接用sudo linuxdeployqt Appname-appimage命令不能成功打包,会有一下提示:
这时候需要将打包命令更换为
sudo linuxdeployqt Appname-appimage -unsupported-allow-new-glibc
其余操作和步骤3相同。但是打包后的软件不能在一些低版本的Ubuntu上运行,比如Ubuntu16.04.会出现以下提示:
参考文章:
https://blog.youkuaiyun.com/skl5879166/article/details/124247975
https://www.jianshu.com/p/779255161e7c
https://blog.youkuaiyun.com/qq_45662588/article/details/122660879
https://blog.youkuaiyun.com/qq_36071362/article/details/124141210