您的位置:首页 > 运维架构 > Linux

Linux下Qt程序的打包发布

2017-04-05 09:09 302 查看
程序以test为例:

1. QtCreate使用Release版本编译

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

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

4. 把ldd查询到的所有需要的库导出

这里提供一个脚本将ldd打印出来的依赖库复制到指定路径:

[plain] view
plain copy

#!/bin/sh  

  

exe="test" #发布的程序名称  

des="/home/hejianglin/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文件代码如下:

[html] view
plain copy

#!/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!大功告成,将这个文件复制到其他电脑上就可以运行了。

参考地址:http://doc.qt.io/qt-5/linux-deployment.html

转载地址:http://blog.csdn.net/hjl_1991/article/details/50365927
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: