QT程序打包,跨平台使用

QT程序打包,跨平台使用

1. 背景

Ubuntu20.04环境下开发的QT程序,想要在另一台没有QT开发环境的电脑上应用开发好的QT程序,所以想到了打包程序以实现跨平台使用。

2. 方法

① 下载linuxdeployqt-5-x86_64.AppImage
② 改名
mv linuxdeployqt-5-x86_64.AppImage linuxdeployqt
③ 增加权限
chmod 777 linuxdeployqt
④ 移动位置
sudo mv linuxdeployqt /usr/local/bin
⑤ 查看linuxdeployqt安装是否成功
linuxdeployqt --version
在这里插入图片描述
⑥ 配置环境变量
#先确认qt安装环境
which qmake
qmake -query QT_INSTALL_PREFIX
在这里插入图片描述
sudo gedit ~/.bashrc

#add QT ENV
export QT_HOME=/media/rc/QtDisk/QT/Tools/QtDesignStudio/qt6_design_studio_reduced_version
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${QT_HOME}/lib
export QT_PLUGIN_PATH=$QT_PLUGIN_PATH:${QT_HOME}/plugins
export QML2_IMPORT_PATH=$QML2_IMPORT_PATH:${QT_HOME}/qml
PATH=$PATH:${QT_HOME}/bin
#其中/media/rc/QtDisk/QT/Tools/QtDesignStudio/qt6_design_studio_reduced_version要替换成自己目录

sudo source ~/.bashrc #重新配置
qmake -v # 查看环境是否ok
在这里插入图片描述
⑦ 编译Release版本的工程
在这里插入图片描述
QT界面中先设置Release模式,再点击Build按钮,实现该功能。
⑧ 将工程目录下生成的Release文件夹中可执行程序单独拎出并放置新的文件夹,然后cd到新的文件夹,并执行如下指令
linuxdeployqt VIDEARM -appimage
-always-overwrite
⑨ 配置完成后,直接采用./可执行程序名称的方式调用,即可获得QT程序。
⑩ 打包整个文件夹,移植没有QT的平台

3. 问题

解决linuxdeployqt打包的qt程序,移至其他没有qt运行环境的平台,报错qt.qpa.plugin:Could not find the Qt platform plugin “xcb” in ""的问题

将打包的文件夹移动至新环境之后,发现别人打包的程序中存在plugins文件夹,但是我打包的没有;
然后,直接手动把plugins文件夹移动过去,发现不太对劲!
怀疑linuxdeployqt版本存在不适配的问题!
进而下载Ubuntu 20.4对应的linuxdeployqt!
重新编译!
① 重新下载linuxdeployqt包
② 更改源码内容
更改前:
在这里插入图片描述
更改后:

在这里插入图片描述
③ 重新编译
qmake linuxdeployqt.pro
make
测试是否可用
./bin/linuxdeployqt 查看是否报错
ldd ./bin/linuxdeployqt 观察链接关系是否正常
④ 移动linuxdeployqt到根目录,设置权限,查看版本是否正常
⑤ 重新编译并移动文件夹
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值