Qt 在linux下打包发布
本人打包环境:
- kali2020
- qt5.14.2
打包步骤
1 . 先生成release可执行程序 假如名为(Test)
2 . 创建一个与可执行程序(Test)同名的文件夹
3 . 将可执行程序(Test)拷贝到步骤2创建的文件夹中
4 . 新建copylib.h (步骤2文件夹)
#!/bin/bash
LibDir=$PWD"/lib"
Target=$1
lib_array=($(ldd $Target | grep -o "/.*" | grep -o "/.*/[^[:space:]]*"))
$(mkdir $LibDir)
for Variable in ${lib_array[@]}
do
cp "$Variable" $LibDir
done
5 . 输入./copylib.sh Test
6 . 将生成的lib文件夹里的库复制到(步骤2(Test)文件夹)
7 . 进入qt安装目录找到platforms目录:
//本人目录
/home/graycat/Qt5.14.2/5.14.2/gcc_64/plugins/platforms
8 . 将copylib.sh复制到platforms目录中,并运行./copylib.sh libqxcb.so
9 . 将platforms文件整个拷贝到(步骤2(Test)文件夹),并删除原先文件夹中的libxcb.so库文件夹
10 . 将 (步骤2(Test)文件夹)/platforms/lib/* 拷贝到(步骤2(Test)文件夹) 并删除(步骤2(Test)文件夹)/platforms/lib文件夹及其所属文件
11 . 在(步骤2(Test)文件夹)新建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 "$@"
12 . 最后chmod a+x Test.sh, 方可执行。
0 评论