QT发布
在Ubuntu 用QT调试程序后,怎么打包发布到其他没安装QTUbuntu上运行呢。结合其他文章,自己操作一遍记录下来。
一、QT构建成Release
在QT直接编译构建Release模式,生成build-xxxx-Desktop_Qt_5_9_0_GCC_64bit-Release文件夹。
二、使用sh脚本导出执行文件的依赖库
1、在release文件打开终端,执行 gedit copylib.sh。 copylib.sh是脚本名称,根据自己喜好命名。
2、在弹出的文本里面输入以下内容
#!/bin/bash
des=$PWD"/lib" #修改输出依赖库路径
exe="xxxx" #修改发布程序的名称
deplist=$(ldd $exe | awk '{if (match($3,"/")){ printf("%s "),$3 } }')
cp $deplist $des
3、保存,并执行脚本,可能没权限。执行 chmod 777 copylib.sh获取权限。然后在终端运行 ./ copylib.sh
三.运行脚本
直接运行编辑的程序 ,是找不到依赖库的。需要脚本把刚输出的依赖库写进【变量】里面。
打开终端 执行 gedit run.sh。这个是运行脚本。根据自己喜好命名。
脚本如下(示例):
#!/bin/sh
appname=$PWD'/xxx' #修改发布程序的名称
dirname=$PWD"/lib" #修改输出依赖库路径
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$appname "$@"
保存,并执行脚本,可能没权限。执行 chmod 777 run.sh获取权限。然后在终端运行 ./run.sh