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打包

相关推荐
刚入门的大一新生4 分钟前
Linux-进程池
linux·运维·服务器
数据库小学妹15 分钟前
数据库运维五级成熟度:监控、备份、高可用怎么串起来
运维·数据库·监控
AliCloudROS35 分钟前
从 1 万到 20 万:OOS Loop 任务规模提升 20 倍的攻坚记录
运维·性能优化
鱼很腾apoc1 小时前
【MySQL】第4期 用户管理与 C 语言连接编程详解
linux·服务器·c语言·mysql·connector/c
千桐科技1 小时前
qModel算法模型平台功能解析:从源码到 Docker 镜像,部署能自动完成哪些工作?
运维·docker·容器·qmodel
刚入门的大一新生1 小时前
Linux-进程间通信1
linux·运维·服务器
天远Date Lab2 小时前
零信任架构实战:基于天远柠檬查维保构建自动化全国连锁二手车置换上架电子维保报告网关
运维·人工智能·架构·自动化
张宇Joaquin2 小时前
Linux系统下磁盘扇区512n、512e和4kn的区别
linux·运维·数据库
道虽迩,不行不至2 小时前
数据库自动连库执行增量脚本-Linux
linux·数据库
GeW2 小时前
新质生产力发展路线图来了,Linux和数据库人该怎么接
linux·数据库