ubuntu下使用linuxdeployqt 打包qt程序
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
linuxdeployqt 打包qt程序
更多精彩内容 |
---|
👉个人内容分类汇总 👈 |
1、环境
- ubuntu18.04:当前版本的linuxdeployqt支持到18.04,更高版本需要自己修改源码编译。
- linuxdeployqt:下载
2、实现目标
- 在linux下使用linuxdeployqt拷贝qt编译程序的动态库、依赖文件;
- 将可执行文件和动态库打包成deb安装包;
- 通过dpkg安装、卸载打包的程序。
3、配置qt环境变量
- 在ubuntu中安装完qt后,需要配置相关的环境变量,否则linuxdeployqt找不到依赖库;
gedit ~/.bashrc # 打开.bashrc
在.bashrc中添加qt环境变量
export PATH="/opt/Qt5.12.9/Tools/QtCreator/bin:$PATH"
export PATH="/opt/Qt5.12.9/Tools/QtCreator/lib:$PATH"
export PATH="/opt/Qt5.12.9/5.12.9/gcc_64/lib:$PATH"
export PATH="/opt/Qt5.12.9/5.12.9/gcc_64/bin:$PATH"
export PATH="/opt/Qt5.12.9/5.12.9/gcc_64/plugins:$PATH"
export PATH="/opt/Qt5.12.9/5.12.9/gcc_64/qml:$PATH"
# 关闭.bashrc后使用下列命令让配置的环境 变量生效
source .bashrc
4、安装linuxdeployqt
sudo chmod 777 linuxdeployqt-continuous-x86_64.AppImage # 设置可执行权限
# 将下载的文件重命名,并移动到具有环境变量的路径下,这里我为了方便放在了qt的安装路径下
sudo mv linuxdeployqt-continuous-x86_64.AppImage /opt/Qt5.12.9/Tools/QtCreator/bin/linuxdeployqt
- 测试linuxdeployqt安装是否成功。
5、开始部署
- 新建一个qt工程,编译生成可执行文件;
- 创建一个文件夹(test,注意这个文件夹不能命名为bin),将可执行文件拷贝到test文件夹下;
- 使用ldd 命令可查看程序的依赖,使用
linuxdeployqt 程序名 -appimage
拷贝依赖文件。
- 到这一步就可以将test整个文件夹拷贝到其他linux中运行了。
6、打包deb安装包
- 创建test(名称随意)文件夹;
- 在test文件夹下创建DEBIAN文件夹;
- 在DEBIAN文件夹下创建control文件、postinst文件、postrm文件(还有其他文件,如果需要自己查);
- control:这个文件主要描述软件包的名称(Package),版本(Version),Installed-Size(大小),Maintainer(打包人和联系方式)以及描述(Description)等,是deb包必须具备的描述性文件,以便于软件的安装管理和索引;
- postinst:负责安装完成时的配置工作,软件安装完后,执行该Shell脚本,一般用来配置软件执行环境,必须以“#!/bin/sh”为首行;
- postrm:负责修改软件包链接或文件关联,或删除由它创建的文件。软件卸载后,执行该Shell脚本,一般作为清理收尾工作,必须以“#!/bin/sh”为首行
- 在test文件夹下创建opt(安装路径,也可以是usr)文件夹;
- 将部署好的可执行文件和依赖拷贝到test文件夹下的opt文件夹中;
-
设置权限:
sudo chmod -R 755 test
,权限必须是755; -
使用
dpkg -b ./ test.deb
命令将当前路径下的文件构建为test.deb安装包。
- 安装、卸载测试
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献5条内容
所有评论(0)