Linux下Qt程序的打包发布

程序以test为例:

1. QtCreate使用Release版本编译


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


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


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

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

[plain]  view plain  copy
  1. #!/bin/sh  
  2.   
  3. exe="test" #发布的程序名称  
  4. des="/home/hejianglin/QtProject/build-test-Desktop-Release/ReleaseTest" #你的路径  
  5.   
  6. deplist=$(ldd $exe | awk  '{if (match($3,"/")){ printf("%s "),$3 } }')  
  7. cp $deplist $des  

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


5. 编写.sh文档 并将它放在与步骤4同一目录下(.sh文件命名必须与可执行文件名字一样例:可执行文件名 test, .sh 文件名为 test.sh)
.sh文件代码如下:


[html]  view plain  copy
  1. #!/bin/sh  
  2. appname=`basename $0 | sed s,\.sh$,,`  
  3.   
  4. dirname=`dirname $0`  
  5. tmp="${dirname#?}"  
  6.   
  7. if [ "${dirname%$tmp}" != "/" ]; then  
  8. dirname=$PWD/$dirname  
  9. fi  
  10. LD_LIBRARY_PATH=$dirname  
  11. export LD_LIBRARY_PATH  
  12. $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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值