当前位置: 首页 > news >正文

LinuxDeployQT打包QT程序

  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

  • 打包完成

相关文章:

  • 【爪洼岛冒险记】第4站:Java中如何进行控制台输入输出?用Java实现猜数字小游戏;超详细讲解Java中的方法:方法的重载,方法的签名
  • 【AcWing周赛】AcWing第86场周赛
  • 一个人,一座城,你到底在乎什么?Python 爬虫告诉你!
  • 神奇的HTML系列专栏总目录
  • NET餐厅管理系统前端js-dwz.dialog改变原始层的大小
  • 【Linux】Ubuntu20.04.5安装ROS1【教程】
  • 使用隐马尔科夫模型实现分词
  • springboot,vue影院订票系统
  • 大数据之Kafka Shell命令和Java API
  • 〖百宝书-思维锻炼①〗——思维进阶和升华
  • SpringSecurity随笔(2)-OAuth2协议
  • 基于Java+SpringBoot+Vue在线培训考试系统设计与实现
  • 【云原生】k8s 一键部署(ansible)
  • mysql:浅显易懂——存储引擎
  • 【鸟哥杂谈】腾讯云 CentOS8 Linux环境下通过docker安装mysql
  • 微服务间通讯负载均衡以及日志
  • 手写拖动上传组件(Vue3/React)
  • 经济学学习(宏观)
  • Android入门第58天-真机调试
  • 【信管9.1】​项目沟通及过程