ubuntu 环境下的QT程序打包--------------------使用.SH命令方式

 

很多的时候 需要将自己写的QT 程序发布一下  所以今天教一下 怎么在ubuntu 环境下将自己的写的Qt 程序打包打包是为了不依赖 开发环境 和开发的库。

1. QtCreate使用Release版本编译

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

3. 终端下使用ldd命令查看需要的连接库,例:ldd untitled23424242
4. 把ldd查询到的所有需要的库导出

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

 

复制代码

#!/bin/sh  
  
exe="untitled23424242" #发布的程序名称   这是我的可执行程序的名字
des="/home/alvin/Desktop/untitled23424242/" #你的路径   这是我的可执行文件的路径 对应的相应的更改
  
deplist=$(ldd $exe | awk  '{if (match($3,"/")){ printf("%s "),$3 } }')  
cp $deplist $des 

复制代码

 

说明:exe :要发布的程序名称 des:指定复制的路径 
   对应的相应的要更改

改完之后设置 脚本的权限 

sudo chmod 777 dabao.sh

运行脚本

./dabao.sh 

你会发现可执行文件依赖的 库复制到 你指定的路径里了

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值