如何从GCC源代码构建本机编译器?

时间:2012-04-27 13:24:22

标签: gcc cross-compiling

我在便携式ARM设备上有一个嵌入式系统,它运行一个定制的Linux。如何为该Linux发行版构建本机编译器?

例如,我现在使用机器A,在A上,我有本机编译器和机器B的交叉编译器。如何构建可以直接在B上运行的编译器?

我搜索了一下,但只找到了一些如何为B构建交叉编译器的教程,但没有找到如何通过交叉编译器构建本机编译器。

2 个答案:

答案 0 :(得分:2)

我不确定标记的答案是否正确。我正在研究一个项目,该项目反映了原始问题中的一个项目,并且根据n.m.的链接。发布后,原始提问者正在尝试被称为三件事之一: host-x-host,cross native cross-built native ...不是加拿大人 - 交叉。

不幸的是,似乎没有关于这个主题的任何教程......至少没有我能找到的。

答案 1 :(得分:0)

据我了解你的问题,你有快速非ARM主机和慢速ARM。您想在快速主机上构建编译器;将在ARM系统上使用编译器将代码编译到ARM机器上。

此设置几乎是经典的Canadian Cross

  

鉴于三台机器A,B和C,一台使用机器A(例如在IA-32处理器上运行Windows XP)来构建在机器B上运行的交叉编译器(例如,在x86-64上运行Mac OS X)处理器)为机器C创建可执行文件(例如在ARM处理器上运行Android)。

你有B = C并且可以使用加拿大Cross构建系统。

不幸的是,这种类型的交叉编译器是最难的。有一些手册来构建这样的Cross:http://airs.com/ian/configure/configure_6.html ...或尝试google“加拿大跨gcc”。

还有一些脚本可以构建基于Linux的嵌入式系统。将尝试搜索一些并在此处添加它们: