部署Qt程序-Linux
2022/8/17 5:22:51
本文主要是介绍部署Qt程序-Linux,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Qt程序编译出可执行文件之后,一般会依赖Qt的相关动态库,在没有安装过Qt的机器上就无法运行。所以在部署时需要将依赖的Qt相关库文件也打包进去。
linuxdeployqt工具
windeployqt或linuxdeployqt可以打包相应平台的qt程序
-
下载工具
访问 https://github.com/probonopd/linuxdeployqt/releases 页面,下载 linuxdeployqt-continuous-x86_64.AppImage 可执行文件(也可以下载源码编译)。
修改成合适的文件名(例如linuxdeployqt),添加执行权限。
可以放置在/usr/bin等系统默认查找的目录下,这样直接输入可执行程序名,即可执行。 -
准备环境
新建工作目录(work),将需要打包的可执行文件(myapp)拷贝进去 -
开始打包
linuxdeployqt myapp -appimage #等待一段时间,该目录下会出现 lib/doc/plugins/translation等目录,qt.conf / AppRun/ default.desktop等文件 #首次执行期间,一些文件缺失的ERROR、WARNING打印属于正常现象,部署工具会新建相关文件 #等待工具执行结束
说明:myapp可执行文件会被修改(例如链接库的路径,指向./lib目录),一些动态库会拷贝到lib目录,AppRun软链接到可执行文件上。qt.conf配置了一些环境插件的依赖目录。
-
desktop文件修改
desktop格式的文件放置在/usr/share/applications目录下,会成为软件的图标,可以在系统当前安装的软件里找到。
如果work目录没有desktop文件,linuxdeployqt会生成default.desktop,可以修改成myapp.desktop[Desktop Entry] Type=Application Name=myApp Exec=/usr/bin/myApp/AppRun %F Icon=/usr/bin/myApp/happy.png Comment=Edit this default file Terminal=false Categories=Utility;Application;
说明:Exec表示程序的执行路径;Icon指定软件的图标图片;Terminal表示从软件列表启动时,是否打开终端;Name是软件列表显示的名字
-
完成
至此Qt程序(myapp)执行所需的库都被复制在了工作目录(work)内。
将整个工作目录拷贝到目标设备,即可以执行,可以ldd myapp查看链接的qt相关的库都指向了./lib或其他路径。
这篇关于部署Qt程序-Linux的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法