2

我已经安装了 crosstool-NG 并在针对 arm-unknown-linux-gnueabi 的主机 + 构建 x86 机器上构建了 GCC。然后我使用 arm-unknown-linux-gnueabi-gcc 编译了一个在我的 ARM 板上运行良好的程序。

我现在想构建 GCC,目标是 ARM 托管在 ARM 上。我相信行话是

build=i486-pc-linux-gnu
target=arm-unknown-linux-gnueabi-gcc
host=arm-unknown-linux-gnueabi-gcc

我该怎么做呢?我要为 crosstool-NG 运行 ./configure 并通过 --host=arm-unknown-linux-gnueabi-gcc 吗?

还是我要更改 CC/etc 的环境变量?

4

1 回答 1

1

您可以使用.config文件执行此操作。我认为名称中带有逗号的样本值得一看。主要区别在于您必须多次运行ct-ng才能创建多个交叉编译器。

ct-ng最近在加拿大十字架上发生了一些变化。但是,您可能需要重新使用在 PC 上运行的原始交叉编译器。原因是编译器将包含为ARM编译的库,您需要在 PC 上生成这些库。通常,确保 iX86-host+ARM-target 编译器在您的路径上。然后您必须在工具链菜单中设置此工具链的主机元组或前缀。您需要将构建元组设置为相同的编译器。

ct-ng 帮助 | grep 变量

这提供了一个包含一堆文本文件的目录,您可以使用grep获取提示。

例如,参见6 - 工具链 types.txt就建筑的复杂性而言,跨本土跨加拿大并不重要。对于Cross native ,您只需要一个中间编译器,但对于加拿大 cross,您需要两个中间编译器。

编辑: Ct-ng 的编译器是如何构建的有一些关于所有发生的信息。

于 2013-01-21T01:16:44.647 回答