Linux系统打包Qt

因为使用了 QWebEngineView,所以遇到了打包问题,记录一下我的失败过程。等以后有机会再接着弄吧

目前知道的打包方式有三种:

1.linuxdeplot + linuxdeploy-plugin-qt

2.linuxdeplotqt + appimagetool

3.使用脚本,收集 ldd 显示的依赖库

 

第一种(linuxdeplot + linuxdeploy-plugin-qt),网上资料少,不准备用这种

第二种(linuxdeplotqt + appimagetool),kylin官方有出文档,详细介绍了使用方法,我要兼容UOS,用了以后没有成功

2.1 首先是下载这两个东西

linuxdeployqt 源码地址:https://github.com/probonopd/linuxdeployqt
x86-64 架构:https://wwpp.lanzoum.com/ipftx0o9tura 密码:630z
arm64 架构:https://wwpp.lanzoum.com/iElNK0o9tuve 密码:4vhg
mips64el 架构:https://wwpp.lanzoum.com/ilv9V0o9tule 密码:8j2v
loongarch64 架构:https://wwpp.lanzoum.com/iq4000o9tung 密码:az5r

appimagetool 源码地址:https://github.com/AppImage/AppImageKit
x86-64 架构:https://wwpp.lanzoum.com/iES3j0o9t5wf 密码:dqwo
arm64 架构:https://wwpp.lanzoum.com/igZig0o9t5qj 密码:68ek
loongarch64 架构:https://wwpp.lanzoum.com/iUzkL0o9t5oh 密码:1jtx

 

2.2 重命名这两个工具,并放入系统环境

mv linuxdeployqt-continuous-x86-64.AppImage linuxdeployqt
mv appimagetool-x86-64.AppImage appimagetool

sudo cp linuxdeplotqt /usr/bin/
sudo cp appimagetool /usr/bin/

 

2.3 设置Qt环境路径

# 修改 bashrc 文件
sudo vi ~/.bashrc

 

# 在文件最后面加入自己的Qt环境路径
QT_DIR=/home/hy/Qt/5.15.2/gcc_64
export PATH=${QT_DIR}/bin:$PATH
export LIB_PATH=${QT_DIR}/lib:$LIB_PATH
export PLUGIN_PATH=${QT_DIR}/plugins:$PLUGIN_PATH
export QML2_PATH=${QT_DIR}/qml:$QML2_PATH
export LD_LIBRARY_PATH=${QT_DIR}/lib:$LD_LIBRARY_PATH

 

# 立即更新 bashrc 文件
source ~/.bashrc

 

2.4 执行命令,打包Qt

linuxdeplotqt qtAppName -appimage

 

 

第三种(使用脚本,收集 ldd 显示的依赖库),也是没有成功

创建sh文件

#!/bin/bash
LibDir=$PWD"/lib"
Target=$1
lib_array=($(ldd $Target | grep -o "/.*" | grep -o "/.*/[^[:space:]]*"))
$(mkdir $LibDir)
for Variable in ${lib_array[@]}
do
    cp "$Variable" $LibDir
done

 

 

 

其他:

打开Qt的调试,在运行软件,可以看到详细报错

export QT_DEBUG_PLUGINS=1

./app

 

 

 

 

  

 

posted @ 2024-08-06 15:09  十一的杂文录  阅读(1)  评论(0编辑  收藏  举报