本章介绍 Qt 开发所需的开发机(Ubuntu 虚拟机)依赖包安装和 SDK 目录结构。工具链配置和 SDK 编译在各路线文档中单独说明。
前置条件
需要将下列三个步骤完整的跑一遍,验证当前环境已经OK再进行后续的环境搭建。
| 步骤 | 参考教程 |
|---|---|
| 搭建 Ubuntu 22.04 虚拟机 | VMware 搭建 Ubuntu 22.04 |
| 获取并初始化 SDK | SDK 获取(Buildroot) |
| 编译并烧录系统镜像 | 系统烧录 |
本文档假设 SDK 已解压至
/home/lckfb/TaishanPi-3-Linux,开发机为 Ubuntu 22.04 x86_64。
依赖包安装
以下依赖包是 Qt 交叉编译开发额外需要的,在完成 SDK 基础编译环境后执行:
bash
sudo apt update && \
sudo apt install -y \
cmake libgl1-mesa-dev libgles2-mesa-dev libglib2.0-dev libfontconfig1-dev \
libfreetype6-dev libx11-dev libxext-dev libxfixes-dev libxi-dev \
libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev libxcb-keysyms1-dev \
libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev \
libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev \
libxcb-util-dev libxkbcommon-dev libxkbcommon-x11-dev \
libxcb-xinerama0 libgl1-mesa-glx libxcb-cursor0 libfontconfig1 libxkbcommon-x11-0 \
libncursesw5 libpython2.71
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
| 包名 | 用途 |
|---|---|
cmake | Qt 项目构建系统 |
libgl1-mesa-dev / libgles2-mesa-dev | OpenGL / OpenGL ES 开发头文件 |
libfontconfig1-dev / libfreetype6-dev | 字体渲染支持 |
libxcb*-dev | Qt XCB 平台插件依赖(开发机编译 Qt 时需要) |
libxkbcommon-dev | 键盘布局支持 |
libncursesw5 | 终端界面支持 |
libpython2.7 | Python 2.7 运行时库 |
SDK 目录结构
SDK 根目录 /home/lckfb/TaishanPi-3-Linux 的关键目录:
| 目录 / 文件 | 说明 |
|---|---|
kernel-6.1/ | Linux 内核源码(版本 6.1.99,kernel 为符号链接) |
u-boot/ | U-Boot 启动引导程序 |
buildroot/ | Buildroot 根文件系统(内置 Qt 5.15.11) |
prebuilts/gcc/ | SDK 预编译交叉工具链(GCC 10.3.1,用于 kernel/u-boot) |
device/rockchip/.chips/rk3576/ | 板级 defconfig 文件(注意 .chips 为隐藏目录) |
rkbin/ | Rockchip 二进制固件 |
build.sh | 一键构建脚本 |
rockdev/ | 编译产物输出目录(update.img 等) |
泰山派 3M 相关的 defconfig 位于 device/rockchip/.chips/rk3576/:
bash
tspi_3m_rk3576_buildroot_defconfig # Buildroot 系统(Qt 开发推荐)
tspi_3m_rk3576_ubuntu_noble_xubuntu_defconfig # Ubuntu Xubuntu 桌面
tspi_3m_rk3576_ubuntu_noble_gnome_defconfig # Ubuntu GNOME 桌面
tspi_3m_rk3576_debian_bookworm_desktop_defconfig # Debian 桌面1
2
3
4
2
3
4
关于两套交叉工具链
SDK 中存在两套交叉编译器,用途不同:
- SDK 预置 GCC 10.3.1(
prebuilts/gcc/下):用于编译 kernel 和 u-boot - Buildroot GCC 12.4.0(
buildroot/output/rockchip_rk3576/host/bin/下):Buildroot 全量编译后自动生成,用于编译 Buildroot 用户态程序(包括 Qt 应用)
两者版本不同(10.3 vs 12.4),C++ ABI 不兼容,不可混用。具体配置在各路线文档中说明。
下一步
请根据你的系统路线选择对应章节:
- Buildroot 路线(推荐):Buildroot Qt 编译环境
- Ubuntu 路线:(即将推出)