fat32 linux 打包工具_Linux下Qt程序的打包发布(2)-使用第三方工具linuxdeployqt

11942f9f68fb85684209016b48f57503.png

前言

记录在Linux/Ubuntu下,Qt程序的打包发布,写于20191211。

linuxdeployqt简介

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

我的环境配置

Ubuntu: 16.04 Qt: 5.12.6 编译器:GCC

方法二 (使用第三方工具linuxdeployqt)

参考【fengMisaka】的博文:在Linux下使用linuxdeployqt发布Qt程序 - fengMisaka - 博客园

一、安装linuxdeployqt

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

cee3f41f87615f0fb2780bab53b18c2c.png
下载linuxdeployqt
GitHub地址: https:// github.com/probonopd/li nuxdeployqt/releases

2.下载好之后,将其改名为linuxdeployqt,并chmod +x,然后复制到 /usr/local/bin/;然后命令行输入 linuxdelpoyqt –version,查看是否安装成功,若输出版本信息表示安装成功。

$ chmod +x linuxdeployqt-x86_64.AppImage
$ mv linuxdeployqt-x86_64.AppImage linuxdeployqt
$ mv linuxdeployqt /usr/local/bin
$ linuxdelpoyqt --version
#输出的版本信息
linuxdeployqt 5 (commit 37631e5), build 631 built on 2019-01-25 22:47:58 UTC

c71cfdc1eb2f6958da5434128823118c.png
复制到 /usr/local/bin/

e386139c4b93979b9c6bdb8fcb95c570.png
输出版本信息

二、配置Qt的环境变量

1.终端输入vi ~/.bashrc 命令, 修改 .bashrc 文件,在文件末尾追加以下内容,其中/home/Qt5.12.6是我Qt的安装路径,大家要用自己的路径代替;

#add QT ENV
export PATH=/home/Qt5.12.6/5.12.6/gcc_64/bin:$PATH
export LD_LIBRARY_PATH=/home/Qt5.12.6/5.12.6/gcc_64/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=/home/Qt5.12.6/5.12.6/gcc_64/plugins:$QT_PLUGIN_PATH
export QML2_IMPORT_PATH=/home/Qt5.12.6/5.12.6/gcc_64/qml:$QML2_IMPORT_PATH

2.最后要source一下,使~/.bashrc这个shall文件立即生效,而不必注销并重新登录。

$ source ~/.bashrc

三、打包应用程序

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

9197fe1fad45e29983c0ddc748bff286.png
shadow目录

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

3.使用 linuxdeployqt 进行打包,一定要加上-appimage选项,命令如下:

$ linuxdeployqt serialport -appimage

bda92b40bf626c32cbf4558046953c85.png
出现提示信息

4.执行上面命令出现提示信息,不用管,只是创建了一个需要你自己编辑的desktop文件;到这一步,就把可执行文件的动态库等依赖文件都复制到该文件夹中了。

四、编写linux桌面图标启动(可选步骤)

修改qt目录下的desktop文件,可以按照ubuntu官方提示修改。 https:// help.ubuntu.com/communi ty/UnityLaunchersAndDesktopFiles

1.新建空白文档,添加以下内容,然后重命名为 serialport.desktop

[Desktop Entry]
Version=1.0      
Name=serialport  
Comment= this app use for zjy  
Exec=/home/book/qt5.12/serialComm/SerialPort-linuxdeployqt/serialport  
Icon=/home/book/Pictures/icon.png    
Terminal=false
Type=Application
Categories=Utility;Application;

eae57dfd64fee21692c3dd494d1ffb10.png
serialport.desktop文件

2.复制serialport.desktop文件

#-- 全局安装(所有用户可用),将xxx.desktop 复制到/usr/share/applications
#-- 当前用户可用, 将xxx.desktop 复制到 ~/.local/share/applications 目录即可
$ sudo cp serialport.desktop  /usr/share/applications   #复制文件

3.到 /usr/share/applications 寻找 serialport.desktop,图标并没有正确显示,但是双击是可以运行的;

086c7023870172267dcc1bb0b0c3090e.png
图标不正确,但双击可运行

五、编写开机脚本 runApp.sh

  1. 创建 runApp.sh
$ vi runApp.sh

2. 写入以下内容

#!/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
./serialport

3. 再给运行开机脚本runApp.sh添加可执行权限;

$ chmod +x runApp.sh
此时运行开机脚本,则可启动程序。 其实到这一步就可以发布了,压缩成一个压缩包发布即可,可如果想继续打包成deb包,可以看下一步。

六、打包成deb包

未完待续~

参考资料

  1. 【linux】【qt5】【将linux下的qt程序打包发布(完全适用于中标麒麟)】 - 一夜孤舟入江南 - 博客园
  2. 在Linux下使用linuxdeployqt发布Qt程序 - fengMisaka - 博客园 (我用这个成功了!)
  3. https://blog.csdn.net/xiezhongyuan07/article/details/80272824 启动界面
  4. https://blog.csdn.net/u014746838/article/details/80952972
  5. Qt实现炫酷启动图-动态进度条 - 朝十晚八 - 博客园
  6. https://blog.csdn.net/weixin_39568531/article/details/79255306
  7. https://blog.csdn.net/u010002704/article/details/39060695
  8. https://blog.csdn.net/qq_28643619/article/details/86679610 Qt快捷键
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值