我在便携式ARM设备上有一个嵌入式系统,它运行一个定制的Linux。如何为该Linux发行版构建本机编译器?
例如,我现在使用机器A,在A上,我有本机编译器和机器B的交叉编译器。如何构建可以直接在B上运行的编译器?
我搜索了一下,但只找到了一些如何为B构建交叉编译器的教程,但没有找到如何通过交叉编译器构建本机编译器。
答案 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的嵌入式系统。将尝试搜索一些并在此处添加它们: