前言
记录在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 应用程序文件;
下载linuxdeployqt
GitHub地址: https:// github.com/probonopd/li nuxdeployqt/releases
2.下载好之后,将其改名为linuxdeployqt,并chmod +x,然后复制到 /usr/local/bin/;然后命令行输入 linuxdelpoyqt –version,查看是否安装成功,若输出版本信息表示安装成功。
#输出的版本信息
linuxdeployqt
复制到 /usr/local/bin/
输出版本信息
二、配置Qt的环境变量
1.终端输入vi ~/.bashrc 命令, 修改 .bashrc 文件,在文件末尾追加以下内容,其中/home/Qt5.12.6是我Qt的安装路径,大家要用自己的路径代替;
#add QT ENV
2.最后要source一下,使~/.bashrc这个shall文件立即生效,而不必注销并重新登录。
source ~/.bashrc
三、打包应用程序
1.将Qt项目用Release模式编译运行一遍,确保在shadow目录下生成可执行程序 serialport ;
shadow目录
2.创建一个文件夹,名称最好是用可执行文件的名称,然后将serialport可执行文件复制到此文件夹下;
3.使用 linuxdeployqt 进行打包,一定要加上-appimage选项,命令如下:
$ linuxdeployqt serialport -appimage
出现提示信息
4.执行上面命令出现提示信息,不用管,只是创建了一个需要你自己编辑的desktop文件;到这一步,就把可执行文件的动态库等依赖文件都复制到该文件夹中了。
四、编写linux桌面图标启动(可选步骤)
修改qt目录下的desktop文件,可以按照ubuntu官方提示修改。 https:// help.ubuntu.com/communi ty/UnityLaunchersAndDesktopFiles
1.新建空白文档,添加以下内容,然后重命名为 serialport.desktop
[Desktop Entry
serialport.desktop文件
2.复制serialport.desktop文件
#-- 全局安装(所有用户可用),将xxx.desktop 复制到/usr/share/applications
#-- 当前用户可用, 将xxx.desktop 复制到 ~/.local/share/applications 目录即可
#复制文件
3.到 /usr/share/applications 寻找 serialport.desktop,图标并没有正确显示,但是双击是可以运行的;
图标不正确,但双击可运行
五、编写开机脚本 runApp.sh
- 创建 runApp.sh
$ vi runApp.sh
2. 写入以下内容
#!/bin/bash
3. 再给运行开机脚本runApp.sh添加可执行权限;
$ chmod +x runApp.sh
其实到这一步就可以发布了,压缩成一个压缩包发布即可,可如果想继续打包成deb包,可以看下一步。
六、打包成deb包
未完待续~
参考资料
- 【linux】【qt5】【将linux下的qt程序打包发布(完全适用于中标麒麟)】 - 一夜孤舟入江南 -
- 在Linux下使用linuxdeployqt发布Qt程序 - fengMisaka -(我用这个成功了!)
- 启动界面
- Qt实现炫酷启动图-动态进度条 - 朝十晚八 - Qt快捷键