本人使用打包脚本如下,都写上了注释。
#!/bin/bash
#变量赋值
AppDir="/home/username/Assist"#自己新建一个目录,我一般和程序同名
ReleaseDir="/home/username/WorkSourceCode/build-Assist-Desktop_Qt_5_12_9_GCC_64bit-Release"#这个是生成二进制文件的Release目录路径
AppName="Assist"#这个是程序名,与二进制文件同名
QtDir="/opt/Qt5.12.9/5.12.9"#这个是我的Qt安装目录,改成你自己的
#新建空文件夹作为工作目录
mkdir -p $AppDir
#进入到程序生成Release文件夹,拷贝二进制文件到刚才文件夹
cp $ReleaseDir/$AppName $AppDir
#进入文件夹
cd $AppDir
#新建两个文件夹
mkdir $AppDir/lib
mkdir $AppDir/bin
#准备程序所需要的库
ldd $AppDir/$AppName | awk '{print $3}' | xargs -i cp -L {} $AppDir/lib
#进入Qt安装目录如/opt/Qt5.12.9/5.12.9/gcc_64/plugins拷贝platforms目录至bin文件夹
cd $QtDir/gcc_64/plugins
cp -r platforms $AppDir/bin
#接着拷贝imageformats文件夹到bin文件夹
cp -r imageformats $AppDir/bin
#进入到ReleaseDir文件夹,将二进制文件移动到bin文件夹
cd $AppDir
mv $AppName $AppDir/bin
#新建程序启动脚本
touch $AppDir/$AppName.sh
#写入
echo export LD_LIBRARY_PATH="$"LD_LIBRARY_PATH:"$"PWD/lib >> $AppName.sh
echo ./bin/$AppName "$"@ >> $AppName.sh
#赋予权限
chmod 777 $AppDir/$AppName.sh
#到目前为止就可以使用程序启动脚本启动程序了
#以下是创建快捷方式
#图标路径
IcoPath="/home/username/WorkSourceCode/build-Assist-Desktop_Qt_5_12_9_GCC_64bit-Release/icon/app.ico"
cd $AppDir
touch $AppName.desktop
#写入
echo [Desktop Entry] >> $AppName.desktop
echo Encoding=UTF-8 >> $AppName.desktop
echo Name=$AppName >> $AppName.desktop
echo GenericName=$AppName >> $AppName.desktop
echo Comment=$AppName >> $AppName.desktop
echo Exec=$AppDir/$AppName.sh %f >> $AppName.desktop
echo Icon=$IcoPath >> $AppName.desktop
echo Terminal=false >> $AppName.desktop
echo Type=Application >> $AppName.desktop
echo "Categories=Application;Programme;" >> $AppName.desktop
#赋予权限
chmod 755 $AppDir/$AppName.desktop
#到这里结束,就可以使用快捷方式了,第一次用需要添加信任。
OK~结束(~ ̄▽ ̄)~