【PX30 Qt 5.15 交叉编译环境搭建完整指南】

PX30 Qt 5.15 交叉编译环境搭建完整指南 (Ubuntu 20.04 → PX30 aarch64)

🎯 项目概览

本指南详细记录了在Ubuntu 20.04上搭建针对Rockchip PX30的Qt 5.15.2交叉编译环境的完整过程,包括实际操作步骤、遇到的问题及解决方案。

目标平台: Rockchip PX30 (ARM Cortex-A53, aarch64)
开发环境: Ubuntu 20.04 LTS
Qt版本: 5.15.2
工具链: Linaro GCC 7.5.0

✅ 环境搭建验证结果

  • 编译成功: Qt 5.15.2完整编译并安装到 /opt/qt5.15-aarch64/
  • 测试应用: 成功编译ARM64架构的Qt应用 px30-qt-test
  • 部署就绪: 部署脚本和运行时环境准备完成
  • 完整验证: 从源码到可执行文件全流程验证通过
  • 编译统计: 65个动态库,0个错误,39个警告

📊 实际搭建统计

编译时间: 约3小时 (Intel 2核心)
磁盘占用: ~8GB (包括源码和编译文件)
生成库数量: 65个动态库文件
目标架构: ARM aarch64 (验证通过)
最终状态: 完全可用的交叉编译环境


1. 系统环境准备

1.1 安装系统依赖

sudo apt update
sudo apt install -y build-essential git python3 libgl1-mesa-dev \
     libxkbcommon-dev libxcb-xinerama0-dev libxcb-icccm4-dev \
     libxcb-image0-dev libxcb-keysyms1-dev libxcb-render-util0-dev \
     libxcb-xkb-dev libxkbcommon-x11-dev flex bison gperf \
     libssl-dev ninja-build ruby perl python3-pip \
     libfontconfig1-dev libfreetype6-dev libx11-dev \
     libxext-dev libxfixes-dev libxi-dev libxrender-dev \
     libxcb1-dev libx11-xcb-dev libxcb-glx0-dev

1.2 验证系统环境

# 检查Ubuntu版本
cat /etc/os-release
# 应显示: Ubuntu 20.04.x LTS

# 检查可用空间 (建议至少10GB)
df -h

2. 安装aarch64工具链

2.1 下载Linaro工具链

cd /tmp
wget https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz

2.2 安装工具链

# 解压到系统目录
sudo tar -xJf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz -C /opt

# 设置环境变量
echo "export TOOLCHAIN_PATH=/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu" >> ~/.bashrc
echo "export PATH=\$TOOLCHAIN_PATH/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc

2.3 验证工具链

aarch64-linux-gnu-gcc --version
# 应显示: aarch64-linux-gnu-gcc (Linaro GCC 7.5-2019.12) 7.5.0

3. 准备PX30 Sysroot

3.1 方法一:使用工具链自带的sysroot (实际使用)

# 创建sysroot目录
export SYSROOT_PATH=$HOME/px30-sysroot
mkdir -p $SYSROOT_PATH

# 从工具链复制基础系统库
cp -r /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/* $SYSROOT_PATH/

# 验证sysroot
ls -la $SYSROOT_PATH/lib
ls -la $SYSROOT_PATH/usr/lib

3.2 方法二:从PX30设备获取 (推荐但需要设备)

# 在开发机上创建 sysroot 目录
export SYSROOT_PATH=$HOME/px30-sysroot
mkdir -p $SYSROOT_PATH

# 在 PX30 设备上执行 (需要 root 权限):
ssh root@<DEVICE_IP> "mkdir -p /tmp/sysroot && \
  rsync -a --relative /lib /usr/lib /usr/include /usr/local/lib /tmp/sysroot && \
  tar -C /tmp/sysroot -cf /tmp/px30-sysroot.tar ."

# 复制到开发机
scp root@<DEVICE_IP>:/tmp/px30-sysroot.tar $SYSROOT_PATH/

# 解压
cd $SYSROOT_PATH
tar xf px30-sysroot.tar

4. 获取Qt 5.15源代码

4.1 克隆Qt仓库

cd ~
git clone git://code.qt.io/qt/qt5.git
cd qt5
git checkout v5.15.2

4.2 初始化子模块 (选择必要模块)

./init-repository --module-subset=qtbase,qtdeclarative,qtsvg,qtquickcontrols2

5. 配置Qt编译

5.1 创建编译目录

mkdir -p $HOME/qt5-build
cd $HOME/qt5-build

5.2 配置编译选项 (实际使用的配置)

# 设置环境变量
export TOOLCHAIN_PATH=/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu
export PATH=$TOOLCHAIN_PATH/bin:$PATH
export SYSROOT_PATH=$HOME/px30-sysroot

# 配置Qt (禁用OpenGL以避免依赖问题)
$HOME/qt5/configure \
  -release \
  -prefix /opt/qt5.15-aarch6
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Quieeeet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值