- QtCreate使用Release版本或者debug版本编译
将编译后生成的可执行程序(如: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$,,` #`是单引号,即键盘上1旁边的那个符号
dirname=`dirname $0`
tmp="${dirname#?}"
if [ "${dirname%$tmp}" != "/" ]; then #if 和 [之间要加空格,不然会报错
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname "$@"
4.执行程序
赋予pack.sh 、test.sh执行权限,
chmod +x test.sh
依次执行pack.sh、test.sh
执行程序./pack.sh ./test.sh
将此目录打包发布即可,
注意需要执行程序时是运行test.sh文件,不是release生成的可执行程序