linuxdeployqt使用

linuxdeployqt安装

仅针对linux系统,windows中在安装Qt时就有默认安装windeployqt
linuxdeployqt下载链接:https://github.com/probonopd/linuxdeployqt/releases

直接下载编译好的版本,一般都可用。
在这里插入图片描述
权限设置:chmod 777 linuxdeployqt-continuous-x86_64.AppImage
将下载的linuxdeployqt-continuous-x86_64.AppImage放到/usr/local/bin目录下
mv linuxdeployqt-continuous-x86_64.AppImage /usr/local/bin

为方便使用,可将其重命名为linuxdeployqt,后面使用时就可直接用这个名进行调用
mv linuxdeployqt-continuous-x86_64.AppImage linuxdeployqt

linuxdeployqt所需环境配置

由于Qt程序在打包过程中需要qt相关的库,为保证在打包过程中能顺利找对应库,需要将Qt的路径添加到环境变量中。

首先找到自己Qt安装的路径,一般安装在/opt路径下,然后在~/.bashrc 中增加下列内容:

export PATH=/opt/Qt/5.14.2/gcc_64/bin:$PATH
export LIB_PATH=/opt/Qt/5.14.2/gcc_64/lib:$LIB_PATH
export PLUGIN_PATH=/opt/Qt/5.14.2/gcc_64/plugins:$PLUGIN_PATH
export QML2_PATH=/opt/Qt/5.14.2/gcc_64/qml:$QML2_PATH

此步骤主要将Qt中的bin、lib、plugins、qml中的文件添加到环境中。之后执行source ~/.bashrc即完成linuxdeployqt的环境配置。

检查安装及配置是否成功

执行qmake --version,出现qmake的版本信息
在这里插入图片描述
执行linuxdeployqt,出现以下信息:
在这里插入图片描述

打包Qt程序

1、将Qt生成的可执行文件(如test)放到空文件夹中
mkdir deploy && cd deploy
mv test deploy
2、执行打包语句
linuxdeployqt test -appimage

linuxdeployqt  (commit aeafcd2), build 13 built on 2022-01-28 22:37:07 UTC
Not using FHS-like mode
app-binary: "/home/*****/deploy/test"
appDirPath: "/home/*****/deploy"
relativeBinPath: "test"
Keeping existing AppRun
WARNING: Plugin "/opt/Qt/5.14.2/gcc_64/plugins/platformthemes/libqgtk2.so" not found, skipping
WARNING: Plugin "/opt/Qt/5.14.2/gcc_64/plugins/styles/libqgtk2style.so" not found, skipping
appimagetool, continuous build (commit a2d9cfc), build <local dev build> built on 2021-11-10 17:45:54 UTC
Desktop file: /home/*****/deploy/default.desktop
Categories entry not found in desktop file
.desktop file is missing a Categories= key

上面的WARNING信息不用在意,不会影响打包。
打包完成后将生成以下文件及文件夹
在这里插入图片描述

执行完毕后即可看到在deploy目录下会生成Qt的各种依赖库,如果程序内部还有其他三方库的依赖,会出现报错信息。如下所示,缺少"libboost_serialization.so.1.58.0库。

linuxdeployqt  (commit aeafcd2), build 13 built on 2022-01-28 22:37:07 UTC
Not using FHS-like mode
app-binary: "/home/*****/deploy/test"
appDirPath: "/home/*****/deploy"
relativeBinPath: "test"
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)
ERROR: ldd outputLine: "libboost_serialization.so.1.58.0 => not found"
ERROR: for binary: "/home/*****/deploy/test"
ERROR: Please ensure that all libraries can be found by ldd. Aborting.

这时只需要在系统中找到这些库,并拷贝到deploy中即可。之后便可通过将整个文件夹拷贝到不同设备上直接双击test即可运行程序。

下面的报错信息不用管,当=> not found中的库都能找到后,在打包过程中会自动生成默认的文件default.desktop和default.png。

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)
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值