Ubuntu18.04实现Aarch64和arm32的交叉编译全步骤
本文所使用的文件下载:

百度网盘:
链接:https://pan.baidu.com/s/1mnpFepFY-rOlwWd3QbYZiw
提取码:5566
下载交叉编译链接工具

安装交叉编译器
解压
sudo tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar -C /opt/
sudo tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar -C /opt/
解压完成后,配置环境变量
sudo vim ~/.bashrc
添加编译器路径:路径为你解压后路径,我的路径为:/opt/
PATH=$PATH:/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin
PATH=$PATH:/opt/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rzvPboQB-1623135507861)(http://www.zlozl5566.ltd/image-20210607160531155.png)]
配置生效
source ~/.bashrc
验证是否安装成功
aarch64-linux-gnu-gcc -v
arm-linux-gnueabihf-gcc -v
arm32如下为成功。

aarch64如下为成功
测试交叉编译器
写一个简单的c程序,交叉编译后放到开发板上去运行看看 能否运行成功
#include <stdio.h>
int main(int argc, char **argv)
{
printf("Hello, you do it succeed!!!\n");
return 0;
}
- 先使用arm32编译

编译完成后,看到文件是32位的。

移植到arm32板子上,可以运行成功。

- aarch64编译
编译完成后,看到文件是arm 64位的。

移植到aarch64的板子上,可以运行成功。

由此可见,两种交叉编译工具都安装成功,可以使用。
编译Qt源码
这里只是用aarch64编译器去编译qt源码
下载Qt源码

解压qt源码
sudo tar xvf qt-everywhere-src-5.12.10.tar.xz
cd qt-everywhere-src-5.12.10
修改qmake配置文件
首先复制一份文件
sudo cp -a linux-aarch64-gnu-g++/ aarch64-linux-gnu-g++/
修改配置文件目录,后面都改成你交叉编译器安装的路径。”/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/“
# modifications to g++.conf
QMAKE_CC = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
QMAKE_CXX = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
QMAKE_LINK = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
QMAKE_LINK_SHLIB = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
# modifications to linux.conf
QMAKE_AR = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-ar cqs
QMAKE_OBJCOPY = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-objcopy
QMAKE_NM = /opt/gcc-linaro-7.5.0-2019.12-x8
Ubuntu 18.04:Aarch64与arm32交叉编译详解

本文详细指导了在Ubuntu 18.04上如何安装并配置Aarch64和arm32的交叉编译器,包括下载、解压、环境变量设置、验证、Qt源码编译以及Qt Creator交叉编译环境配置,适用于rk3399等设备移植。
最低0.47元/天 解锁文章
2052





