1. 环境准备与工具链搭建
在飞腾麒麟V10系统上打包Qt应用,首先需要搭建完整的工具链。与常见的x86平台不同,基于ARM架构的飞腾处理器需要特别注意工具兼容性问题。我曾在实际项目中遇到过因工具链不完整导致打包失败的情况,后来发现是基础依赖库版本不匹配造成的。
基础依赖安装是第一步,建议执行以下命令:
bash复制sudo apt update
sudo apt install -y git g++ make cmake libgl1-mesa-dev libfuse2
这里特别要说明的是libfuse2,它是AppImage运行时的必要依赖。有次我在新装的系统上忘记安装这个包,结果生成的AppImage完全无法运行,排查了半天才发现问题。
对于Qt环境,建议使用与应用程序开发时相同的Qt版本。假设使用的是Qt 5.15.2,需要确保开发环境中已经正确安装对应版本的Qt库。可以通过以下命令验证:
bash复制qmake --version
如果输出不是预期的Qt版本,可能需要调整环境变量。我在多个项目中发现,环境变量配置不当是最常见的打包失败原因之一。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 源码编译linuxdeployqt
由于飞腾架构没有预编译的linuxdeployqt可用,我们必须从源码编译。这个过程有几个关键点需要注意:
首先获取源码:
bash复制git clone https://github.com/probonopd/linuxdeployqt.git
cd linuxdeployqt
关键修改:在飞腾麒麟V10上,需要修改源码中的版本检查逻辑。打开tools/linuxdeployqt/main.cpp文件,找到glibc版本检查代码:
cpp复制if(strvercmp(glcv, "2.32") >= 0)
改为:
cpp复制if(strvercmp(glcv, "20") >= 0)
这个修改是因为麒麟V10使用的glibc版本高于2.32但低于20.0,原始检查会导致编译错误。我曾在三个不同项目中都遇到这个问题,修改后都能顺利编译。
编译命令如下:
bash复制qmake
make -j$(nproc)
sudo make install
编译完成后,建
