Linux下Qt程序的打包发布-linuxdeployqt
本文最后更新于:2022年5月29日 上午
前言
平常都是在Ubuntu系统下进行QT项目开发,这里记录一下在Linux/Ubuntu下,Qt程序的打包发布。
linuxdeployqt 是Linux下的qt打包工具,可以将应用程序使用的资源(如库,图形和插件)复制到二进制运行文件所在的文件夹中。
环境配置
- 系统: Ubuntu 16.04
- Qt: 5.9.3
- 编译器:GCC
Step 1: 安装linuxdeployqt
直接下载编译好的linuxdeployqt-x86_64.AppImage应用程序文件。
或者到Github下载:https://github.com/probonopd/linuxdeployqt/releases
下载完成后,进入下载目录,将其改名为linuxdeployqt,并赋予执行权限,然后复制到 /usr/local/bin/;在命令行输入
linuxdelpoyqt –version
,若输出版本信息表示安装成功。1
2
3
4mv linuxdeployqt-7-x86_64.AppImage linuxdeployqt
chmod +x linuxdeployqt
sudo mv linuxdeployqt /usr/local/bin
linuxdeployqt -version输出版本信息:
Step 2: 配置Qt环境变量
终端输入
gedit ~/.bashrc
命令,在文件末尾追加以下内容。
**注意:其中/home/yun/Qt5.9.3/5.9.3/
是Qt的安装路径,要根据自己QT实际的安装路径修改;1
2
3
4
5# add QT ENV
export PATH=/home/yun/Qt5.9.3/5.9.3/gcc_64/bin:$PATH
export LD_LIBRARY_PATH=/home/yun/Qt5.9.3/5.9.3/gcc_64/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=/home/yun/Qt5.9.3/5.9.3/gcc_64/plugins:$QT_PLUGIN_PATH
export QML2_IMPORT_PATH=/home/yun/Qt5.9.3/5.9.3/gcc_64/qml:$QML2_IMPORT_PATH更新配置文件,使其立即生效。
1
source ~/.bashrc
Step 3: 打包应用程序
这里以图片格式转换项目 Image_Conversion 为例。
将Qt项目用Release模式编译运行一遍,确保在编译目录下生成可执行程序 Image_Conversion;
创建一个文件夹,名称最好是用可执行文件的名称,然后将Image_Conversion可执行文件复制到此文件夹下;
使用 linuxdeployqt 进行打包,也就是把可执行文件的动态库等依赖文件都复制到该文件夹中,命令如下:
1
linuxdeployqt Image_Conversion -appimage
执行上面命令会出现一些错误提示信息,不用管,只是创建了一个需要你自己编辑的desktop文件。
Step 4: 编写开机脚本runApp.sh
创建runApp.sh
1
gedit runApp.sh
写入以下内容:
1
2
3
4
5#!/bin/bash
export LD_LIBRARY_PATH=/app/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=/app/plugins:$QT_PLUGIN_PATH
export QML2_IMPORT_PATH=/app/qml:$QML2_IMPORT_PATH
./Image_Conversion # 应用程序可执行文件名称给runApp.sh添加可执行权限;
1
chmod +x runApp.sh
此时运行开机脚本,则可启动程序。
Step 5: 发布程序
到这一步就可以发布你的应用程序了,把文件夹压缩成一个压缩包发布即可。
程序运行方法:
- 文件夹下打开终端,执行
./runApp.sh
,则可启动程序 - or 双击应用程序可执行文件,ex:Image_Conversion
- or 双击可执行文件
AppRun
参考链接: