ubuntu打包 qt 程序,不用每次都用linuxdeployqt打包

用linuxdeployqt打包太麻烦,每次程序编译都要用linuxdeployqt打包一次,而且每次都要很长时间,通过研究得出一个新的打包方法

1.用用linuxdeployqt得出依赖的库文件(只要没有增加新模块,只要用一次就可以)

2.把xcb相关的文件放到和运行文件同一目标下即可(在plugins目标下有platforms、xcbglintegrations文件夹是xcb运行相关的)如下图所示

3.配置依赖路径库路径

LD_LIBRARY_PATH=dirname/lib:dirname/platforms:$dirname/xcbglintegrations

export LD_LIBRARY_PATH

或者在运行时设置如下:我这里用脚本启动

#!/bin/sh

获取应用名称(如应用名称为app,那么脚本为app.sh

appname=`basename 0 \| sed s,\\.sh,,`

获取应用当前目录

dirname=`dirname $0`

tmp="${dirname#?}"

判断目录是不是根目录

if [ "{dirname%tmp}" != "/" ];

then

dirname=PWD/dirname

fi

将当前目录(库所在目录)加入环境变量

LD_LIBRARY_PATH=dirname/lib:dirname/platforms:$dirname/xcbglintegrations

export LD_LIBRARY_PATH

运行

dirname/appname "$@"

这就可以编译好后直接拷贝文件到其他机器运行,不用每次都要用linuxdeployqt打包

相关推荐
wangjialelele32 分钟前
Linux下的IO操作以及ext系列文件系统
linux·运维·服务器·c语言·c++·个人开发
HypoxiaDream1 小时前
LINUX-Ext系列⽂件系统
linux·运维·服务器
小毛驴8501 小时前
Linux curl 命令用法
linux·运维·chrome
李斯啦果1 小时前
【Linux】Linux目录配置
linux·运维·服务器
AI+程序员在路上1 小时前
linux下线程中pthread_detach与pthread_join区别
linux·运维·服务器
代码游侠1 小时前
C语言核心概念复习——C语言基础阶段
linux·开发语言·c++·学习
logocode_li1 小时前
说透 Linux Shell:命令与语法的底层执行逻辑
linux·运维·ssh
CHENKONG_CK1 小时前
晨控CK-LR08-E00与汇川H5U系列PLC配置MODBUSTCP通讯连接手册
linux·服务器·网络
LongQ30ZZ1 小时前
Linux-基础IO
linux
来鸟 鸣间1 小时前
Linux下3个so库之间的关系
linux·运维