前言
最近在搭建 RK3576 广告机开发环境时,需要在 Ubuntu20.04 虚拟机中安装 Qt 开发环境。
开发板环境如下:
RK3576
Debian12
Qt 5.15.8
为了保证开发环境与目标板运行环境一致,计划安装 Qt 5.15.x。
安装过程中连续遇到了两个问题:
- Qt Online Installer 中找不到 Qt 5.15 版本
- 安装完成后 Qt Creator 无法启动,提示 GLIBC 版本过低
本文记录完整解决过程。
一、Qt 5.15为什么找不到离线安装包
进入 Qt 官方归档目录:
https://download.qt.io/archive/qt/5.15/
可以发现目录结构如下:
single/
submodules/
与早期版本不同,已经看不到:
qt-opensource-windows-x64.exe
qt-opensource-linux-x64.run
之类的离线安装包。
原因
Qt 官方从 Qt 5.15 开始调整了开源版本发布策略。
Qt 5.15 及以后版本:
不再提供开源版离线安装程序
因此无法像 Qt 5.14 及以前版本一样直接下载安装包。
官方建议使用:
Qt Online Installer
进行在线安装。
二、下载Qt Online Installer
推荐使用国内镜像源下载。
清华镜像
https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/online_installers/
腾讯镜像
https://mirrors.cloud.tencent.com/qt/official_releases/online_installers/
下载:
qt-unified-windows-x64-online.exe
或者:
qt-online-installer-linux-x64-online.run
根据系统选择对应版本。
三、使用镜像源加速安装
Windows 下:
在安装程序所在目录打开 PowerShell:
.\qt-unified-windows-x64-online.exe --mirror https://mirrors.tuna.tsinghua.edu.cn/qt
Linux 下:
chmod +x qt-online-installer-linux-x64-online.run
./qt-online-installer-linux-x64-online.run \
--mirror https://mirrors.tuna.tsinghua.edu.cn/qt
这样下载速度会明显提升。
四、为什么组件列表中没有Qt 5.15
登录 Qt Installer 后进入:
Select Components
很多人会发现:
Qt 6.8
Qt 6.9
Qt 6.10
都有。
但是:
Qt 5.15
没有显示。
解决方法
在组件页面右侧点击:
Archive
然后点击:
Filter
等待历史版本索引加载完成。
加载完成后即可看到:
Qt 5.15.0
Qt 5.15.1
Qt 5.15.2
等历史版本。
五、Qt 5.15安装组件选择
以 Qt 5.15.2 为例。
建议勾选:
Qt 5.15.2
└─ Desktop gcc 64-bit
常用模块:
Qt Network
Qt Multimedia
Qt SerialPort
Qt Charts
Qt Quick
Qt Quick Controls
如果只是 Widgets 项目:
Desktop gcc 64-bit
即可。
安装空间大约:
6~8GB
根据勾选模块不同略有差异。
六、Ubuntu20.04安装Qt Creator后无法启动
安装完成后执行:
~/Qt/Tools/QtCreator/bin/qtcreator
报错:
GLIBC_2.34 not found
GLIBC_2.33 not found
GLIBCXX_3.4.29 not found
类似如下:
./qtcreator:
/lib/x86_64-linux-gnu/libc.so.6:
version `GLIBC_2.34' not found
七、问题原因分析
查看 Ubuntu20.04 系统版本:
ldd --version
输出:
ldd (Ubuntu GLIBC 2.31)
Ubuntu20.04 默认:
glibc 2.31
而新版 Qt Creator:
Qt Creator 15+
Qt Creator 16+
Qt Creator 17+
部分版本使用:
glibc 2.34+
环境编译。
因此启动时出现:
GLIBC_2.34 not found
错误。
八、不要直接升级GLIBC
网上很多教程建议:
升级glibc
编译glibc
替换系统glibc
不建议这样做。
原因:
glibc属于系统核心运行库
升级失败可能导致:
终端无法启动
系统无法登录
软件全部失效
风险较高。
九、正确解决方案
根据目标板环境选择对应Qt版本。
例如:
目标板:
Qt 5.15.8
开发环境建议:
Qt 5.15.2
保持同一大版本。
避免:
开发Qt6
运行Qt5
导致的兼容性问题。
十、RK3576开发环境推荐配置
开发机:
Ubuntu20.04
Qt 5.15.2
Qt Creator
gcc-aarch64-linux-gnu
g++-aarch64-linux-gnu
目标板:
RK3576
Debian12
Qt 5.15.8 Runtime
开发流程:
Qt Creator
↓
交叉编译
↓
ARM64可执行程序
↓
SSH上传
↓
RK3576运行
无需在开发板安装:
gcc
g++
cmake
qmake
仅保留 Qt Runtime 即可。
总结
本文解决了两个常见问题:
问题1
Qt Installer 中看不到 Qt 5.15
解决:
Archive
↓
Filter
↓
加载历史版本
问题2
Qt Creator启动报:
GLIBC_2.34 not found
解决:
安装与系统兼容的Qt版本
不要强行升级glibc
对于 RK3576、IMX6、STM32MP1、全志T527 等嵌入式 Linux 项目,建议开发环境与目标板 Qt 版本保持一致,可以减少后续部署和运行过程中出现的兼容性问题。