【Qt】在ubuntu上打包发布Qt程序,可以不依赖Qt环境

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010168781/article/details/81458272

参考博客

https://blog.csdn.net/theArcticOcean/article/details/68069964
https://blog.csdn.net/hjl_1991/article/details/50365927

亲测过程

1、编译处release版本的Qt程序
2、创建打包文件夹
mkdir release
3、进入文件夹,将要打包的程序拷贝到文件中
cd release
cp 编译处程序的全路径 .
4、创建执行脚本ldd.sh(本质是使用ldd命令,查看程序链接的库,然后拷贝到打包文件夹中)
记得修改权限 chmod +x ldd.sh

#! /bin/bash
EXE='desktopwidget' #我的程序名
PWD=`pwd` #打包的路径
files=`ldd $EXE | awk '{ if(match($3,"^/"))printf("%s "),$3 }'`
cp $files $PWD

5、运行时的脚本(本质是配置环境变量LD_LIBRARY_PATH)
运行脚本命名为:程序名+.sh;如desktopwidget.sh
记得修改权限 chmod +x desktopwidget.sh

#!/bin/sh  
appname=`basename $0 | sed s,\.sh$,,`  #获取\和.sh之间的字符串

dirname=`dirname $0`  
tmp="${dirname#?}"  

#绝对路径
if [ "${dirname%$tmp}" != "/" ]; then  
dirname=$PWD/$dirname  
fi  

LD_LIBRARY_PATH=$dirname  
export LD_LIBRARY_PATH  
$dirname/$appname "$@"  #"$@" 脚本参数

猜你喜欢

转载自blog.csdn.net/u010168781/article/details/81458272