ubuntu 环境下的QT程序打包

1. QtCreate使用Release版本编译
将编译后生成的可执行程序(如:test)复制到一个空目录下

2.使用ldd命令查看和导出需要的库

在步骤1的目录下新建一个pack.sh文件,文件内容如下:

[cpp]  view plain  copy
  1. #!/bin/sh    
  2. exe="test" #你需要发布的程序名称  
  3. des="/home/someone/QtProject/build-test-Desktop-Release/Test" #步骤1中的目录即本文件所在目录  
  4. deplist=$(ldd $exe | awk  '{if (match($3,"/")){ printf("%s "),$3 } }')    
  5. cp $deplist $des  

文件中有两处中文注释的地方需要修

3.编写执行程序的sh文件
在此目录下再新建一个test.sh文件(文件名必须与可执行文件名字一样), 
文件内容如下(不需要修改):

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

4.执行程序
赋予test.sh执行权限,
chmod +x test.sh

执行程序
./test.sh
将此目录打包发布即可,注意需要执行程序时是运行test.sh文件,不是release生成的可执行程序

你可能感兴趣的:(Linux,qt)