保姆级教程:在Ubuntu 22.04上为RK3568开发板交叉编译Qt 5.15.8(含完整配置脚本)
嵌入式开发中,Qt框架因其跨平台特性和丰富的UI组件库而广受欢迎。但对于RK3568这类ARM架构的开发板,直接在资源受限的设备上编译Qt既不现实也不高效。本文将手把手带你完成Ubuntu 22.04环境下Qt 5.15.8的交叉编译全流程,从工具链配置到最终部署,每个步骤都经过实测验证,并提供可直接复用的自动化脚本。
1. 环境准备与工具链配置
1.1 系统基础环境检查
首先确认你的Ubuntu 22.04系统已安装必要的开发工具。打开终端执行以下命令:
bash复制sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential git python3 cmake ninja-build \
libgl1-mesa-dev libxcb-xinerama0-dev libxkbcommon-dev \
libxkbcommon-x11-dev libxcb-icccm4-dev libxcb-image0-dev \
libxcb-keysyms1-dev libxcb-render-util0-dev libxcb-xinput-dev
这些基础依赖包含编译器、调试工具和X11开发库,是后续Qt编译的基础。特别提醒:Ubuntu 22.04默认的gcc版本为11.3.0,经测试完全兼容本教程。
1.2 获取RK3568专用工具链
RK3568采用Arm Cortex-A55架构,需要对应的aarch64工具链。推荐使用Rockchip官方提供的prebuilt工具链:
bash复制mkdir -p ~/rk3568_toolchain && cd ~/rk3568_toolchain
wget https://repo.rock-chips.com/rk3568/toolchain/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz
tar xvf gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz
sudo mv gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu /opt/
将工具链加入系统PATH环境变量:
bash复制echo 'export PATH=/opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
验证工具链是否安装成功:
bash复制aarch64-none-linux-gnu-gcc --version
正确输出应显示gcc版本为10.3.1。如果遇到权限问题,可通过sudo chmod -R 755 /opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu解决。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Qt源码获取与配置
2.1 下载Qt 5.15.8源码
Qt 5.15是LTS版本,兼顾稳定性和新特性支持。建议在用户目录下创建工作空间:
bash复制mkdir ~/qt5-cross-build && cd ~/qt5-cross-build
wget https://download.qt.io/archive/qt/5.15/5.15.8/single/qt-everywhere-opensource-src-5.15.8.tar.xz
tar xvf qt-everywhere-opensource-src-5.15.8.tar.xz
源码解压后约3.2GB空间,确保磁盘有足够容量。对于国内用户,可以考虑使用清华镜像源加速下载:
bash复制wget https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.15/5.15.8/single/qt-everywhere-opensource-src-5.15.8.tar.xz
2.2 配置编译参数
创建自动配置脚本configure.sh,内容如下:
bash复制#!/bin/bash
BUILD_DIR=$(pwd)/qt-build
INSTALL_DIR=$(pwd)/qt-5.15.8-rk3568
QT_SOURCE=$(pwd)/qt-everywhere-opensource-src-5.15.8
mkdir -p $BUILD_DIR && cd $BUILD_DIR
$QT_SOURCE/configure \
-prefix $INSTALL_DIR \
-release \
-opensource -confirm-license
