LinuxDeployQT打包QT程序

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
  1. 系统ubuntu20.04

  1. 官网可直接下载使用https://github.com/probonopd/linuxdeployqt/releases但是因为不支持ubuntu20所以本文通过下载源码编译的方式编译linuxdeployqt

  1. 安装编译相关依赖

  •  sudo apt-get install git g++ libgl1-mesa-dev wget

  • 安装QT

  • sudo apt-get install cmake

  • sudo apt-get install patchelf

  1. 下载Linuxdeployqt源码:https://github.com/probonopd/linuxdeployqt

  1. 注释掉linux版本的代码  vim tools/linuxdeployqt/main.cpp

  1. 编译在linuxdeployqt目录下执行 sudo cmake CMakeLists.txt生成Makefile文件

  1. 执行make编译 sudo make -j8

  1. 编译成功后在linuxdeployqt/tools/linuxdeployqt/目录下生成linuxdeployqt可执行程序

将编译好的程序复制到/usr/local/bin/目录下

然后修改linuxdeployqt权限:sudo chmod -R 777 /usr/local/bin/linuxdeployqt

  1. 下载appimagetool-x86_64.AppImage

wget "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
chmod a+x appimagetool-x86_64.AppImage

然后 sudo ap ./appimagetool-x86_64.AppImage   /usr/local/bin/appimagetool

配置QT的环境变量 vim ~/.bashrc

  1. 加入注意下面的QT的安装目录请修改为自己QT的安装路径

#add QT ENV

export PATH=/home/betterjason/Qt/5.15.2/gcc_64/bin:$PATH

export LD_LIBRARY_PATH=/home/betterjason/Qt/5.15.2/gcc_64/lib:$LD_LIBRARY_PATH

export QT_PLUGIN_PATH=/home/betterjason/Qt/5.15.2/gcc_64/plugins:$QT_PLUGIN_PATH

export QML2_IMPORT_PATH=/home/betterjason/Qt/5.15.2/gcc_64/qml:$QML2_IMPORT_PATH

保存文件然后刷新下配置信息  source ~/.bashrc

  1. 打包QT程序方法

  • 使用Realse方式编译QT程序

  • 新建一个文件夹AppDeploy将QT编译生成二进制文件复制到AppDeploy文件中

  • 进入AppDeploy文件夹执行 linuxdeployqt ./xxxx  -verbose=2  -appimage

  • 打包完成

  1. 打包完成后在AppDeploy目录下的文件存在一个XXXX.desktop的文件这个是Linux下程序的启动器相当于windows下的快捷方式内容如下

     

[Desktop Entry]

Type=Application

Name=My Application #应用的名字(快捷方式显示的文字)

Exec=/opt/MyApplication/xxxxx #应用的执行路径(绝对路径)

Icon=/opt/MyApplication/xxxxx.png #应用的图标(绝对路径)大小通常128*128

Comment=This is my demo #说明信息

Terminal=true #是否允许在终端启动

注意

XXXX.desktop文件需要有执行权限该文件才能变成图标否则只是显示一个普通文件。

XXXX.desktop中的路径需要填写deb包的安装路径非打包路径。

Terminal=true时启动程序时会附带启动终端界面即会出现2个界面。

Terminal=false时启动程序时没有终端界面仅显示程序这一个界面。

  1. 将xxxx.desktop 复制到/usr/share/applications/    

更改执行权限  chmod a+x  /usr/share/applications/xxxx.desktop

     将/usr/share/applications/xxxx.desktop 复制到用户的Desktop目录下    

         然后双击这个xxxx.desktop就可以启动程序了

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: linux