在Windows下的嵌入式平台交叉编译器

3
我希望构建一个编译器(GCC端口)用于Linux,以便构建的GCC在Windows上运行,并为嵌入式平台创建可执行文件。以上是否可能?

请提供更多细节。您是在寻找编译器,还是想要编写一个编译器?您的目标是嵌入式Linux吗?还是其他嵌入式平台? - Brian C. Lane
5个回答

6

是的,这是可能的。

但是,如果您自己尝试,它会非常痛苦——在Linux上还好,但在Windows上非常棘手。我的建议是看看DENX.de、CodeSourcery或您的嵌入式平台制造商是否提供了一些现成的编译器。

我已经成为像MIPS和Power Architecture这样平台的CodeSourcery编译器的忠实粉丝。它们往往附带有大端和小端的变体,各种Libc口味,并可用于裸机和针对Linux的版本。请参见他们的Lite版页面

构建自己的交叉编译器和工具集真是一场噩梦。

如果您的目标是运行Linux,我建议您也在Linux框中进行交叉开发,以节省大量痛苦。我使用VmWare来达到这个目的。例如,您不能指望在Windows上为目标构建Linux。


2
在嵌入式系统中,编译器是基于处理器架构而不是操作系统来引用的。您可能想要构建一个针对与运行在Windows机器上不同的处理器的“交叉编译器”。这当然是可以的。例如,WinAVR和WinARM项目就是基于GCC并在Windows机器上运行的AVR和ARM处理器架构的编译器。另一个例子是yagarto。它们不仅仅是编译器,还包括完整的工具链,如果所需的库可用,将允许您构建Linux可执行文件(针对ARM处理器)。
由于GCC依赖于在Windows本地环境中不可用的POSIX功能,因此您需要一个类似于Linux的Windows环境(例如Cygwin或MinGW)。


1
如果您满意在 Windows 上运行它,那么您可以在 www.gnupit.org 下载免费的预先准备好的 GCC 交叉编译工具链。有许多目标平台可供选择。

0

你需要在Windows上使用MinGW或Cygwin为目标平台(例如ARM小端)构建GCC。


那真是太痛苦了。如果可以避免的话,最好不要去做。 - jakobengblom2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接