前言

在Windows平台下,Qt向我们提供了 windeployqt 工具来帮助我们链接动态库文件到我们需要发布的软件目录中,但在Liunx平台下,现目前我还没有发现有这样一个工具,需要我们自己去实现这个过程,或许可以考虑自己写一个工具集。来执行这个操作。

简单版
# 以脚本的方式来执行自动拷贝依赖动态库的操作

# <1> 新建一个 pack.sh 文件,并写入以下内容

#!/bin/sh  
#你需要发布的程序名称
exe="testting" 
#创建文件夹的位置
des="/home/badboy/badboy/code/qt/ui/build/relese" 
deplist=$(ldd $exe | awk  '{if (match($3,"/")){ printf("%s "),$3 } }')  
cp $deplist $des

# <2> 新建一个发布版本程序包名一致的 .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 "$@"
posted on 2020-11-25 17:56  怪小子  阅读(115)  评论(0编辑  收藏  举报