方法1(推荐)
步骤1:准备打包工具linuxdeployqt和patchelf
使用linuxdeployqt工具来打包(与windows版的工具windeployqt类似)
linuxdeployqt开源地址: Release Continuous build · probonopd/linuxdeployqt · GitHub,下载后改名为linuxdeployqt
或者下载源码进行自行编译。
linuxdeployqt工具需要用到另一个开源工具patchelf, 该工具开源地址:GitHub - NixOS/patchelf: A small utility to modify the dynamic linker and RPATH of ELF executables
patchelf编译方法

将编译好的linuxdeployqt复制到/usr/local/bin目录下,并检查/usr/local/bin目录下是否有linuxdeployqt和patchelf这2个工具

步骤2:设置QT环境变量
在~/.bashrc(/home/username/.bashrc)中添加以下环境变量,其中“/home/XXX/Qt”是Qt的安装目录,"XXX"是用户名
export PATH=/home/XXX/Qt/5.15.2/gcc_64/bin:$PATH #Qt安装目录下的bin目录 export LD_LIBRARY_PATH=/home/XXX/Qt/5.15.2/gcc_64/lib:$LD_LIBRARY_PATH #Qt的运行库目录 export QT_PLUGIN_PATH=/home/XXX/Qt/5.15.2/gcc_64/plugins:$QT_PLUGIN_PATH #Qt的插件目录 export QML2_IMPORT_PATH=/home/XXX/Qt/5.15.2/gcc_64/qml:$QML2_IMPORT_PATH #Qt的qml目录

步骤3:同windeployqt的方法,使用以下命令打包 linuxdeployqt appname -appimage
linuxdeployqt appname -appimage
方法2
在编译好的软件的同目录下创建一个新的.sh文件,在文件中输入以下内容:
#!/bin/sh
appname="DashBoardPluginTestProject" // 此处双引号内的内容为编译号的程序的名称
path="/home/hades/MyProject/release" // 此处双引号内的内容为程序所在的完整路径
deplist=$(ldd $appname | awk '{if(match($3,"/")){printf("%s "), $3}}')
cp $deplist $path
浙公网安备 33010602011771号