一,使用release编译项目::

在Qt中使用release的方式编译出可执行文件,然后新建一个文件夹,将可执行文件拷贝进去备用。

二,使用脚本复制相关可执行文件到目录

复制编译后的文件到新的文件夹:

linux下QT项目的动态编译打包发布_ide


1,​​编写pack.sh​​:

#!/bin/sh  
exe="video_client" #你需要发布的程序名称
des="/home/chengyangkj/桌面/video_client" #创建文件夹的位置
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 "$@"

linux下QT项目的动态编译打包发布_文件复制_02


3,​​在控制台执行pack.sh​

sudo bash ./pack.sh

系统就会自动把相关库文件复制到文件夹下

linux下QT项目的动态编译打包发布_文件复制_03


在其他主机里面使用和可执行文件同名的脚本文件(这里为video_client.sh)运行程序即可。