QT打包(linux下脚本方式,适用于ubantu22.04)

QT打包(linux下脚本方式,适用于ubantu22.04)

一、复制文件

复制编译好的release中的可执行文件“helloword”到新建文件夹helloword中(文件夹和文件可以不重名)

二、创建打包脚本

在helloword文件夹中创建pack.sh脚本,内容如下:

#!/bin/sh
exe="helloword"                      #可执行文件名
des="/home/lgd/App/helloword"        #第一步创建的文件夹
deplist=$(ldd $exe|awk '{if (match($3,"/")){printf("%s "),$3}}')
cp $deplist $des

三、创建同名脚本文件

创建helloword.sh文件,内容如下:

#!/bin/sh
appname=`basename $0|sed s,\.sh$,,`
dirname=`dirname $0`                    #注意符号
tmp="${dirname#?}"
if [ "${dirname%$tmp}" != "/"]; then    #if后要有空格
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname "$@"

四、最小化lib库

如出现qt.qpa.plugin:could not find the Qt platform plugin “xcb” in “”,的错误
首先在当前的目录下创建platforms文件夹,将QT安装目录下的/opt/Qt5.14.2/5.14.2/gcc_64/plugins/platforms/libqxcb.so复制到新创建的platforms文件夹下,
然后在执行./helloword.sh之前运行exprot QT_DEBUG_PLUGINS=1,之后再运行./helloword.sh,所缺少的库文件将会被打印出来,找到相应的库文件,复制到当前目录,下列是运行helloword.sh时缺少的库文件的名称:

库文件名
libQt5XcdQpa.so.5
libQt5DBus.so.5

缺少的库文件在QT的安装目录下能找到,路径为:/opt/Qt5.14.2/5.14.2/gcc_64/lib,找到表中的库文件之后将其复制到helloword.sh脚本文件所在目录下,之后就能够运行了!

五、打包加拷贝运行

为避在不同系统之间格式转化出现问题,最好将新建文件夹压缩打包后,导入目标主机,导入目标主机后,运行./helloword.sh即可。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值