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

相关推荐
java_logo12 分钟前
Docker 部署 MinIO 全指南
运维·windows·mongodb·docker·容器
tongsound20 分钟前
libmodbus 使用示例
linux·c++
拾光Ծ23 分钟前
【Linux】“ 权限 “ 与相关指令
linux·运维·服务器
硬核子牙26 分钟前
调试器是怎么让代码停下来的
linux
To_再飞行26 分钟前
Linux Bash(一)
linux·运维·服务器·bash
我狸才不是赔钱货29 分钟前
DevOps:打破开发与运维之间的高墙
运维·vscode·docker·devops
LCG元40 分钟前
保姆级教程:CentOS 7/8 部署Nginx + MySQL + PHP(LEMP)环境,从零开始到上线项目
linux
疯癫的老码农1 小时前
【Linux环境下安装】SpringBoot应用环境安装(五)-milvus安装
linux·spring boot·milvus
孤廖1 小时前
C++ 模板再升级:非类型参数、特化技巧(含全特化与偏特化)、分离编译破解
linux·服务器·开发语言·c++·人工智能·后端·深度学习
油条不卖1 小时前
本地window10同步ubuntu上conda指定环境,并在C#项目中通过Python.NET调用自定义python接口
linux·ubuntu·conda