1. 环境准备:避开架构陷阱的第一步
在Ubuntu 20.04上搭建aarch64交叉编译环境,首先要解决的就是架构匹配问题。很多开发者在这里踩的第一个坑就是忽略了宿主机的架构类型。我当初用Windows虚拟机安装Ubuntu时,默认得到的是x86_64架构系统,结果折腾半天才发现工具链根本不兼容。
验证架构很简单:
uname -a
如果看到x86_64字样,说明你需要重新配置环境。这里有两种解决方案:
-
方案A:使用aarch64架构的Ubuntu系统(推荐)
- 在VMware或VirtualBox中直接安装ARM版Ubuntu
- 物理机安装的话可以考虑树莓派等ARM开发板
-
方案B:在x86_64系统上模拟aarch64环境
- 使用qemu-user-static搭建chroot环境
- 需要额外配置binfmt_misc支持
我强烈建议选择方案A,因为方案B在编译Qt时会遇到各种奇怪的兼容性问题。实测在16核32GB内存的机器上,完整编译Qt6.5需要约50GB磁盘空间,建议虚拟机至少分配100GB空间(编译中间文件会占用大量空间)。
2. 工具链配置:关键依赖的精准安装
2.1 基础环境搭建
首先更新软件源并安装必要工具:
sudo apt update
sudo apt upgrade -y
sudo apt install -y build-essential ninja-build cmake bison flex python3 perl

&spm=1001.2101.3001.5002&articleId=155184118&d=1&t=3&u=269ea4ab5eec41c6b1ade4874a916ba0)
4万+

被折叠的 条评论
为什么被折叠?



