一 打包工具
1.linuxdeployqt
下载地址:https://github.com/probonopd/linuxdeployqt/releases
2.patchelf
下载地址:https://nixos.org/releases/patchelf/patchelf-0.9/patchelf-0.9.tar.gz
二 配置linuxdeployqt
1.点击点击下载linuxdeploy-continuous-x86_64.AppImage
2.然后执行如下代码,将改名字后的linuxdeployqt移动到 /usr/local/bin目录下
sudo mv linuxdeployqt-continuous-x86_64.AppImage linuxdeployqt
sudo mv ./linuxdeployqt /usr/local/bin
chmod 777 linuxdeployqt
sudo linuxdelpoyqt --version
3.显示版本表示安装成功。
linuxdeployqt 5 (commit 37631e5), build 631 built on 2019-01-25 22:47:58 UTC
还要安装patchelf
三 配置patchelf
1.下载并且解压文件夹,进入patchelf解压的文件夹后执行如下命令
./configure
make
sudo make install
2.进入/usr/local/bin目录,执行ls命令出现一下情况
[root@192 bin]# ls
linuxdeployqt patchelf
表示配置成功
四 打包程序
1.随便一个目录创建一个文件夹命名为output,我的目录为home/linjun/qtworkspace/output
2.将即将打包的程序的执行文件放进该output文件夹内,比如说我的执行程序名字是demotest(就只放QTCreator release模式下编译的一个执行文件就可以了)
3.然后进入该目录执行如下命令
sudo linuxdeployqt untitled -appimage
4.这时候一般会遇到这样的情况(如果没遇到直接跳过)
qmake: could not exec '/usr/lib/i386-linux-gnu/qt4/bin/qmake': No such file or directory
ERROR: qmake not found on the $PATH
原因:qtchooser默认选择路径中没有指向qmake路径,qtchooser默认路径在:
解决:
PATH=$PATH:/home/oceanstar/qt-everywhere-opensource-src-4.8.7/bin
查询是否解决:在输出目录下运行:
$ qmake -v
QMake version 2.01a
Using Qt version 4.8.7 in /usr/local/Trolltech/Qt-4.8.7/lib
5、继续运行
sudo linuxdeployqt untitled -appimage
出现错误
Categories entry not found in desktop file
.desktop file is missing a Categories= key
说的是在.desktop文件中少了一个属性Categories,所以我们需要在desktop文件中手动加入一行:
Categories=Application;
注意;要加上去
再次执行 linuxdeployqt 命令即可。