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

相关推荐
00后程序媛7 分钟前
ubuntu安装qemu和xv6
linux·运维·ubuntu
载数而行52025 分钟前
Linux操作系统 5 组管理,权限管理
linux
疯狂打码的少年37 分钟前
Cache的三种映射方式(直接/全相联/组相联)
linux·服务器·数据库·笔记
阿狸猿38 分钟前
论系统负载均衡设计方法
运维·负载均衡
minji...1 小时前
Linux 高级IO(四)多路转接之epoll,epoll 模型及原理
linux·运维·服务器·多路转接·epoll·epoll模型·红黑树/就绪队列/回调
蜡笔婧萱1 小时前
网络服务综合大实验--包含NFS服务器,Web服务器,DNS域名服务器
linux·服务器·网络
bitbrowser1 小时前
2026年Facebook广告账户频频“连坐”被封?聊聊出海投流
运维·服务器·facebook
汽车仪器仪表相关领域1 小时前
Kvaser Hybrid CAN/LIN 单通道三合一总线分析仪:高性价比CAN FD/LIN集成测试利器
运维·服务器·网络·数据挖掘·数据分析·单元测试·集成测试
林熙蕾LXL1 小时前
守护进程&IO多路复用介绍
linux·服务器·网络
志栋智能1 小时前
超自动化安全:实现安全运营现代化的关键
大数据·运维·网络·安全·自动化