Linux下Qt程序的打包发布-linuxdeployqt

本文最后更新于:2022年5月29日 上午

前言

平常都是在Ubuntu系统下进行QT项目开发,这里记录一下在Linux/Ubuntu下,Qt程序的打包发布。

  1. linuxdeployqt 是Linux下的qt打包工具,可以将应用程序使用的资源(如库,图形和插件)复制到二进制运行文件所在的文件夹中。

  2. 环境配置

    • 系统: Ubuntu 16.04
    • Qt: 5.9.3
    • 编译器:GCC

Step 1: 安装linuxdeployqt

  1. 直接下载编译好的linuxdeployqt-x86_64.AppImage应用程序文件

    或者到Github下载:https://github.com/probonopd/linuxdeployqt/releases
    BGr4g0.png

  2. 下载完成后,进入下载目录,将其改名为linuxdeployqt,并赋予执行权限,然后复制到 /usr/local/bin/;在命令行输入linuxdelpoyqt –version,若输出版本信息表示安装成功。

    1
    2
    3
    4
    mv linuxdeployqt-7-x86_64.AppImage linuxdeployqt
    chmod +x linuxdeployqt
    sudo mv linuxdeployqt /usr/local/bin
    linuxdeployqt -version

    输出版本信息:
    BGfK4U.png

Step 2: 配置Qt环境变量

  1. 终端输入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
  2. 更新配置文件,使其立即生效。

    1
    source ~/.bashrc

Step 3: 打包应用程序

这里以图片格式转换项目 Image_Conversion 为例。

  1. 将Qt项目用Release模式编译运行一遍,确保在编译目录下生成可执行程序 Image_Conversion;
    BGfQCF.png

  2. 创建一个文件夹,名称最好是用可执行文件的名称,然后将Image_Conversion可执行文件复制到此文件夹下;

  3. 使用 linuxdeployqt 进行打包,也就是把可执行文件的动态库等依赖文件都复制到该文件夹中,命令如下:

    1
    linuxdeployqt Image_Conversion -appimage

    BGfl34.png

  4. 执行上面命令会出现一些错误提示信息,不用管,只是创建了一个需要你自己编辑的desktop文件。

Step 4: 编写开机脚本runApp.sh

  1. 创建runApp.sh

    1
    gedit runApp.sh
  2. 写入以下内容:

    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 # 应用程序可执行文件名称
  3. 给runApp.sh添加可执行权限;

    1
    chmod +x runApp.sh
  4. 此时运行开机脚本,则可启动程序。

Step 5: 发布程序

到这一步就可以发布你的应用程序了,把文件夹压缩成一个压缩包发布即可
程序运行方法:

  • 文件夹下打开终端,执行./runApp.sh,则可启动程序
  • or 双击应用程序可执行文件,ex:Image_Conversion
  • or 双击可执行文件AppRun

参考链接:

【1】在Linux下使用linuxdeployqt发布Qt程序 - fengMisaka - 博客园


Linux下Qt程序的打包发布-linuxdeployqt
https://kevinloongc.github.io/posts/154f31d7.html
作者
Kevin Loongc
发布于
2020年10月29日
许可协议