zoukankan      html  css  js  c++  java
  • Linux下Qt程序的打包发布

    程序以test为例:

    1. QtCreate使用Release版本编译

    2. 从可运行程序的文件中拿出可执行文件,例:test

    3. 终端下使用ldd命令查看需要的连接库,例:ldd test

    4. 把ldd查询到的所有需要的库导出
    这里提供一个脚本将ldd打印出来的依赖库复制到指定路径:

    #!/bin/sh
    
    exe="test" #发布的程序名称
    des="/home/******/QtProject/build-test-Desktop-Release/ReleaseTest" #你的路径
    
    deplist=$(ldd $exe | awk  '{if (match($3,"/")){ printf("%s "),$3 } }')
    cp $deplist $des

    说明:exe :要发布的程序名称 des:指定复制的路径 

    5. 编写.sh文档 并将它放在与步骤4同一目录下(.sh文件命名必须与可执行文件名字一样例:可执行文件名 test, .sh 文件名为 test.sh)
    .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 "$@"

    6. 执行这个.sh文件:

    可能因为不行执行需更改权限:

    chmod +x test.sh

    Ok!大功告成,将这个文件复制到其他电脑上就可以运行了。

    注:

    Linux 版本:Ubuntu 14.04 LTS

    Qt:5.2.1

    参考地址:http://doc.qt.io/qt-5/linux-deployment.html
    转自:https://blog.csdn.net/hjl_1991/article/details/50365927

  • 相关阅读:
    ASP获取上月本月下月的第一天和最后一天
    JS表单提交
    JS分段传输数据
    SQLServer存储过程实现单条件分页
    ASP从HTML标签中提取中文
    ViewData、ViewBag和 TempData
    Java 第十一届 蓝桥杯 省模拟赛 小明的城堡
    Java实现DFS深度优先查找
    Java实现BFS广度优先查找
    Java实现二分查找(折半查找)
  • 原文地址:https://www.cnblogs.com/liushui-sky/p/13366644.html
Copyright © 2011-2022 走看看