Linux下打包QT程序

本文介绍了如何在Linux环境下使用Release编译方式打包QT程序,包括创建脚本copylib.sh来复制依赖库,如Qt的platforms和MySQL,以及设置运行时LD_LIBRARY_PATH的步骤。
摘要由CSDN通过智能技术生成

Linux下打包QT程序

  1. 还是先Release编译程序

  2. 将可执行程序复制到一个新目录 src

  3. 新建一个脚本copylib.sh,主要用来 copy 相关库的,第一个参数是可执行文件

    #!/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
    
  4. 先 copy 程序依赖库,copylib.sh ISTSC,将 lib 下的库复制出来

  5. 再 copy qt 运行依赖库;

    进入qt平台目录下 /opt/Qt/5.15.2/gcc_64/plugins/platforms

    运行copylib.sh libqxcb.so

    copy lib下的库到src中
    copy platforms目录下其他库到src

  6. COPY mysql的库 sqldrivers/libqsql.so/usr/lib/x86_64-linux-gnu/libmysqlclient.so 到src

  7. copy qml下的所有到sr c

  8. copy gcc_x86下的lib库的内容到src下

  9. 可以在目录下在创建一个运行脚本,用来设置程序运行库的路径的

#!/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 "$@"

参考链接

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值