如何在Linux环境下成功打包Qt应用程序?

在Linux下打包Qt程序,可以发布到一台纯净的Linux发行版系统上,以下是详细步骤:

如何在Linux环境下成功打包Qt应用程序?插图1

准备工作

安装linuxdeployqt

下载linuxdeployqt工具:https://github.com/probonopd/linuxdeployqt/releases

修改为可执行权限并移动到/usr/local/bin目录

     chmod +x linuxdeployqt-x86_64.AppImage
     mv linuxdeployqt-x86_64.AppImage linuxdeployqt
     mv linuxdeployqt /usr/local/bin

测试是否安装成功

     linuxdeployqt --version

配置Qt环境变量

编辑~/.bashrc文件,添加以下内容(根据实际Qt安装路径调整)

     export PATH=/opt/Qt5.13.0/5.13.0/gcc_64/bin:$PATH
     export LD_LIBRARY_PATH=/opt/Qt5.13.0/5.13.0/gcc_64/lib:$LD_LIBRARY_PATH
     export QT_PLUGIN_PATH=/opt/Qt5.13.0/5.13.0/gcc_64/plugins:$QT_PLUGIN_PATH
     export QML2_IMPORT_PATH=/opt/Qt5.13.0/5.13.0/gcc_64/qml:$QML2_IMPORT_PATH

使~/.bashrc文件立即生效

如何在Linux环境下成功打包Qt应用程序?插图3

     source ~/.bashrc

创建应用程序文件夹并复制可执行文件

创建TestSetup和Test目录,并将应用拷贝到Test目录

  mkdir TestSetup
  cd TestSetup
  mkdir Test
  cp /path/to/your/app Test/

3. 使用linuxdeployqt拷贝依赖文件

执行以下命令拷贝依赖文件

  linuxdeployqt Test/appname -appimage

编写启动脚本

创建一个名为runApp.sh的启动脚本

  vim runApp.sh

写入以下内容

  #!/bin/bash
  export LD_LIBRARY_PATH=$(dirname $0)/lib:$LD_LIBRARY_PATH
  export QT_PLUGIN_PATH=$(dirname $0)/plugins:$QT_PLUGIN_PATH
  export QML2_IMPORT_PATH=$(dirname $0)/qml:$QML2_IMPORT_PATH
  ./$(dirname $0)/appname "$@"

赋予执行权限

  chmod +x runApp.sh

打包成deb包(可选)

建立工作目录并设定安装路径

如何在Linux环境下成功打包Qt应用程序?插图5

  cd ~
  mkdir clean
  cd clean
  mkdir -p usr/src
  cp -a ~/TestSetup/Test usr/src
  mkdir DEBIAN

在DEBIAN目录下创建control文件并加入以下内容

  Package: appname
  Version: 1.0.1
  Section: utils
  Priority: optional
  Architecture: i386
  Depends: qt5-default (>= 5.13.0)
  Installed-Size: 512
  Maintainer: Your Name <your.email@example.com>
  Description: A brief description of your application.

使用dpkg命令构建deb包

  dpkg -b . ../appname_1.0.1_i386.deb

安装deb包

  sudo dpkg -i appname_1.0.1_i386.deb

通过以上步骤,您可以将Linux下的Qt程序打包成deb安装包,使其能够在其他没有安装Qt环境的Linux系统上运行。

到此,以上就是小编对于linux qt 程序打包的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。

本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/85725.html

小末小末
上一篇 2024年10月27日 13:05
下一篇 2024年10月27日 13:16

相关推荐