转自:http://blog.csdn.net/hjl_1991/article/details/50365927
为便于描述,我们这里假设生成的程序名称为test(即要发布的程序名称)
1. QtCreate使用Release版本编译
将编译后生成的可执行程序(如:test)复制到一个空目录下
2.使用ldd命令查看和导出需要的库
在步骤1的目录下新建一个pack.sh文件,文件内容如下:
#!/bin/sh
exe="test" #你需要发布的程序名称
des="/home/someone/QtProject/build-test-Desktop-Release/Test" #步骤1中的目录即本文件所在目录
deplist=$(ldd $exe | awk '{if (match($3,"/")){ printf("%s "),$3 } }')
cp $deplist $des
文件中有两处中文注释的地方需要修改
3.编写执行程序的sh文件
在此目录下再新建一个test.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.执行程序
赋予test.sh执行权限
chmod +x test.sh
执行程序
./test.sh