1.背景
将应用于X86_64的服务应用软件移植到ARM64位宿主机上;
编译主机UBUNTU 16.04 LTS X86_64
目标主机UBUNTU 16.04 LTS ARM64
2.安装工具链
1.确认编译工具链是否匹配
命令:gcc -v
编译主机的交叉编译工具链信息如下:
Using built-in specs.
...
Target: x86_64-linux-gnu
...
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10)
目标主机的交叉编译工具链信息如下:
Using built-in specs.
...
Target: aarch64-linux-gnu
...
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.04)
结论:编译工具链不匹配,目标主机为ARM64架构,且编译工具链为aarch64-linux-gnu,版本5.4.0 20160609
2.安装匹配的交叉编译工具链
sudo apt install aarch64-linux-gnu
注意:UBUNTU 18.04.03:
apt-cache search aarch64,查看哪些版本可以安装,如:
apt install gcc-7-aarch64-linux-gnu g++-7-aarch64-linux-gnu
apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
命令:aarch64-linux-gnu-gcc -v
Using built-in specs.
...
Target: aarch64-linux-gnu
...
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.09)
3.扩展-安装arm交叉编译工具链
若目标主机的交叉编译工具链信息如下:
Using built-in specs.
...
Target: arm-linux-gnueabi
...
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.04)
则目标主机为ARM架构,且编译工具链为arm-linux-gnueabi,版本5.4.0 20160609,只需要只需要执行命令sudo apt install arm-linux-gnueabi即可