我已经成功地从 x86_64 上的源代码编译了 gcc 7.2。本机到本机,因此生成的编译器是一个可以正常工作的 x86_64 二进制文件。
我还想有一个适用于 aarch64 的编译器(所以,不是交叉编译器。产生 aarch64 结果的 aarch64 编译器二进制文件。)这就是我卡住的地方。
有两个选项,在 aarch64 主机上对 gcc 进行本机到本机编译。这会导致问题,而且最重要的是,像软糖一样慢,或者在 x86_64 上交叉编译 gcc,导致 aarch64 编译器二进制文件能够生成其他 aarch64 二进制文件。
我下载并解压了 gcc 7.2,并做了这download_prerequisites
一步。然后我使用了以下内容configure
:
../gcc-7.2.0/configure -v --build=x86_64-linux-gnu --host=x86_64-linux-gnu \
--target=x86_64-linux-gnu --prefix=/usr/local/gcc-7.2 \
--enable-checking=release --enable-languages=c,c++ --disable-multilib \
--program-suffix=-7.2
不过,我怀疑--build
,--host
并且--target
在本地情况下是矫枉过正的。我现在的问题是,如果我想最终使用 aarch64 编译器,我应该将这三个设置为什么?
下线,我还想要一个 armv7l 版本。有什么选择呢?