基本环境:qt-5.8.0
项目名称:client
在release模式下编译源文件,得到文件夹build-client-Desktop_Qt_5_8_0_GCC_64bit-Release,以及该文件夹下的可执行目标文件client


新建一个文件夹clientPack,将可执行目标文件client拷贝到新文件夹中,此时clientPack文件夹中包含一个可执行文件client

在clientPack文件夹中新建一个脚本文件pack.sh,用来提取项目所需要的链接库文件,内容如下:
1
2
3
4
5#!/bin/sh
exe="client" #你需要发布的程序名称
des="/home/mumu/Documents/SUN/kxFaceDetect/Client/clientPack" #创建文件夹的位置
deplist=$(ldd $exe | awk '{if (match($3,"/")){ printf("%s "),$3 } }')
cp $deplist $des在clientPack文件夹中新建一个脚本文件client.sh,内容如下:
1
2
3
4
5
6
7
8
9
10#!/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 "$@"赋予pack.sh和client.sh权限
1
2chmod 777 pack.sh
chmod 777 client.sh执行pack.sh
1
./pack.sh
将得到项目所依赖的库

执行client.sh
1
./client.sh