Qt 在linux下打包发布

 Qt Widgets
时间:

Qt 在linux下打包发布

本人打包环境:

  1. kali2020
  2. 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 评论