Ubuntu下打包Qt程序

//在项目目录下新建pack.sh和QTTEST.sh文件.
//QTTEST.sh这个脚本文件名必须和要发布的程序名字相同.

//pach.sh文件内容

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


//QTTEST.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 777 pack.sh

chmod 777 QTTEST.sh
./pack.sh//导入包文件,如下
/*
libbsd.so.0                libicui18n.so.60    libxcb.so.1
libc.so.6                  libicuuc.so.60      libXdmcp.so.6
libdl.so.2                 libm.so.6           libz.so.1
libdouble-conversion.so.1  libpcre.so.3        main.o
libfreetype.so.6           libpng16.so.16      mainwindow.o
libgcc_s.so.1              libpthread.so.0     Makefile
libGLdispatch.so.0         libQt5Core.so.5     moc_mainwindow.cpp
libglib-2.0.so.0           libQt5Gui.so.5      moc_mainwindow.o
libGL.so.1                 libQt5Widgets.so.5  moc_predefs.h
libGLX.so.0                librt.so.1          pack.sh
libgraphite2.so.3          libstdc++.so.6      QTTEST
libharfbuzz.so.0           libX11.so.6         QTTEST.sh
libicudata.so.60           libXau.so.6         ui_mainwindow.h
*/
//运行可执行文件
./QTTEST.sh
发布了50 篇原创文章 · 获赞 3 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_41865104/article/details/90678281