1.环境
银河麒麟系统
qt 5.14.2
2.新建文件夹MyApp
在/home/nhi下新建一个文件夹MyApp,将release生成的可执行程序移动到文件夹MyApp中.
3.在新建的文件夹中建立两个脚本文件
pack.sh
xxx.sh //xxx为可执行程序的名字
其中pack.sh中的内容为:
#!/bin/sh
exe="XXX" #需要发布的程序名称
pwd="/home/nhi/MyApp" #所建文件夹的路径
files=$(ldd $exe | awk '{if (match($3,"/")){ printf("%s "),$3 } }')
cp $files $pwd
xxx.sh中的内容为:
#!/bin/sh
appname=`basename $0 | sed s,\.sh$,,`
dirname=`dirname $0`
tmp="${dirname#?}"
if [ "${dirname%$tmp}" != "/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname "$@"
4.执行脚本文件
首先给两个脚本文件赋予权限并执行
sudo chmod 777 pack.sh //赋予权限
./pack.sh //执行第一个脚本文件,此时MyApp文件夹中会多些许东西
sudo chmod 777 xxx.sh //赋予权限
./xxx.sh //执行第二个脚本文件,成功打包