ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

部署Qt程序-Linux

2022-08-16 23:30:41  阅读:196  来源: 互联网

标签:可执行文件 Qt 部署 desktop linuxdeployqt myapp 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,部署,desktop,linuxdeployqt,myapp,Linux,目录
来源: https://www.cnblogs.com/TaXueWuYun/p/16593389.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有