问题描述
软件开发完毕之后需要打包Qt程序,将程序放到没有安装Qt开发环境的电脑上运行。
在Ubuntu18.04开发环境下打包有两种方式。
方式一
第一种方式是利用linuxdeployqt软件进行打包,不过由于Ubuntu18.04操作系统版本太高,在Ubuntu18.04上需要重新编译linuxdeployqt软件。重新编译的过程需要注释部分不兼容的源码。由于该方式经测试打包依旧无法运行,故在此不做具体介绍。
方式二
第二种方式是利用编写shell脚本的方式进行打包。打包的具体流程如下:
- 新建一个空的文件夹,用于存放程序和动态链接库。如“package”文件夹。
- 准备脚本copylib.sh。
#!/bin/bash
LibDir=$PWD"/lib"
Target=$1
lib_array=($(ldd $Target | grep -o "/.*" | grep -o "/.*/[^[:space:]]*"))
$(mkdir $LibDir)
for Variable in ${lib_array[@]}
do
cp "$Variable" $LibDir
done
- 准备脚本xxxx.sh。(xxxx.sh表示该脚本名称必须和程序名一致。如:本项目的可执行文件为uidemo01,命名该脚本为uidemo01.sh)
#!/bin/sh
appname=`basename $0 | sed s,\.sh$,,`
dirname=`dirname $0`
tmp="${dirname#?}"
if [ "${dirname%$tmp}" != "/" ]; then
dirname=$PWD/$dirname
fi
VLC_PLUGIN=$PWD/plugins
echo $VLC_PLUGIN
LD_LIBRARY_PATH=$dirnam

本文总结了在Ubuntu18.04下使用Qt开发的程序打包过程,包括两种打包方式:利用linuxdeployqt(因版本问题未成功)和编写shell脚本。脚本涉及复制依赖库、Qt相关库和VLC初始化插件,以确保程序在无Qt环境的系统上运行。打包完成后,通过运行指定脚本即可启动程序。
最低0.47元/天 解锁文章
6221

被折叠的 条评论
为什么被折叠?



