Qt5.12.9 多平台运行环境部署(应用发布)
系列文章目录
文章目录
前言
Qt 是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架,可以实现一次编码,多平台编译部署。Qt源码先由qmake生成Makefile文件,然后使用make命令进行编译,最后通过各个平台的 deployqt工具进行依赖文件拷贝,我当前安装的版本是Qt5.12.9,这里来记录学习下,不同平台对应的编译器可看下图。
图片来源:https://www.cnblogs.com/georgeOfChina/p/7735157.html
- Windows 平台:windeployqt(Qt安装后自带)
- Linux 平台:linuxdeployqt(Qt5.12.9 需自行下载)
- Mac OS 平台:macdeployqt
一、Window平台 Qt 运行环境部署
- 使用Qt Creator 编译工程代码生成 exe文件,如果已经有.pro工程文件,也可以用MinGW 使用命令
qmake
和mingw32-make
来生成 exe。 - 将编译好的exe文件放入一个空文件夹:
QtDemo
,然后打开Qt5.12.9自带的MinGW,进入该目录。 - 使用Qt5.12.9自带
windeployqt
拷贝依赖的所有库文件。
E:\Qt\Qt5.12.9\5.12.9\mingw73_64\bin\windeployqt Demo.exe
- 拷贝完所有依赖文件后,就可以将该文件夹拷贝到其他没有安装Qt的电脑运行了。
运行结果如下:
二、Linux(Ubuntu)平台 Qt 运行环境部署
1. 下载 linuxdeployqt
在Qt5.12.9安装目录下,我没有找到该工具,所以需要手动去下载安装,安装参考https://www.cnblogs.com/linuxAndMcu/p/11016322.html
到github网站下载或者使用wget命令下载
wget https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage
链接地址:https://github.com/probonopd/linuxdeployqt/releases
2. 安装和查看版本
chmod +x linuxdeployqt-continuous-x86_64.AppImage
mv linuxdeployqt-continuous-x86_64.AppImage linuxdeployqt-x86_64
sudo mv linuxdeployqt-x86_64 /usr/local/bin
linuxdeployqt-x86_64 --version--version
3. 配置环境变量
vi ~/.bashrc
打开 ~/.bashrc 文件,将下面的配置添加到文件末尾。
export PATH=/opt/Qt5.12.9/5.12.9/gcc_64/bin:$PATH
export LD_LIBRARY_PATH=/opt/Qt5.12.9/5.12.9/gcc_64/bin/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=/opt/Qt5.12.9/5.12.9/gcc_64/bin/plugins:$QT_PLUGIN_PATH
export QML2_IMPORT_PATH=/opt/Qt5.12.9/5.12.9/gcc_64/bin/qml:$QML2_IMPORT_PATH
使新的环境变量生效
source ~/.bashrc
4. 部署运行环境,发布应用
运行命令,拷贝所有依赖文件
linuxdeployqt-x86_64 Demo -appimage
忽略错误:
ERROR: Desktop file missing, creating a default one (you will probably want to edit it)
ERROR: Icon file missing, creating a default one (you will probably want to edit it)
执行完后就生成了一堆的依赖文件和目录,此时,就可以直接运行了Demo 或 AppRun了。
5. 生成桌面图标
vi QtDemo.desktop
创建桌面图标文件,按下面格式输入(默认有一个default.desktop,也可以用它进行修改)将你想要的logo放在目录下。
#-- 全局安装(所有用户可用),将xxx.desktop 复制到/usr/share/applications
#-- 当前用户可用, 将xxx.desktop 复制到 ~/.local/share/applications 目录即可
[Desktop Entry]
Version=1.0
Name=QtDemo
Comment=A demo for Qt deploy
Exec=/home/lai/linux/nfs/code/qtProject/QtDemo/Demo
Icon=/home/lai/linux/nfs/code/qtProject/QtDemo/logo.png
Terminal=false
Type=Application
Categories=Utility;Application;
创建完文件后,还要赋权限,ok,大功告成,可以直接双击QtDemo启动应用程序了。
chmod 755 QtDemo.desktop
总结
Qt 编程方便,界面好看,又支持多平台编译,在桌面和嵌入式领域已经有相当规模应用了,相信它会越来越强大。