Linux(deepin)QT5程序发布

Linux_deepin QT5 发布程序

本次记录参考自:http://blog.csdn.net/hjl_1991/article/details/50365927
先把release中产生的执行文件复制出来到新的文件夹(本次复制到的新文件夹名称叫tongxin-release)(Linux的QT里面生成的可执行文件没有.exe),复制到一个新的文件夹(本次的可执行文件名字叫tongxin)
在tongxin-release里面创建一个pack.sh,里面填写代码:

#!/bin/sh  
exe="tongxin" #程序名称
des="/media/_dde_data/tongxin/tongxin-release" #文件夹位置
deplist=$(ldd $exe | awk  '{if (match($3,"/")){ printf("%s "),$3 } }')  
cp $deplist $des

然后再创建一个tongxin.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 "$@"

把两个文件的权限都更改一下:

chmod +x pack.sh
chmod +x tongxin.sh

然后执行pack.sh,进入文件夹后“在终端中打开”,执行.pack.sh。这样tongxin这个可执行文件所依赖的.so.*之类的包就都出现在tongxin-release这个文件夹里面了。也可以提前使用ldd tongxin查询这个可执行文件所依赖的包。
把整个文件夹都复制到其他Linux电脑中,执行tongxin.sh就可以了。
一定是.sh文件,不是可执行文件

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