下面,根据我的了解,整理一下,crosstool-ng,作为一个交叉编译器的制作工具,所具有的优点:
menuconfig,用的最为广泛,支持度最好,最好用。
menuconfig可以称为:即简单,又好用。
用过的都知道。
关于make menuconfig,不熟悉的可以参考:
【整理】make config,make menuconfig,make oldconfig,make xconfig,make defconfig,make gconfig
目前已经支持众多了架构了:
Alpha, ARM, AVR32 (EXP), Blackfin (EXP), MIPS, OpenRISC/or32(+), PowerPC, s390, SPARC (EXP), SuperH (EXP), x86
且以后会支持越来越多。
相比较而言,之前的交叉编译器制作工具,支持的架构,比crosstool-ng更多,好像没几个。
支持基于uClibc, glibc或eglibc的工具链
支持其他类型的,也很容易添加
为许多种现存的,已知bug的,需要打包的各种模块,提供了一个补丁仓库。
如此可以实现:可以自动去帮你打上,已知的,需要打补丁的各种模块
从而,避免了各种编译的错误,制作出来的交叉编译器的各种问题
极大程度上的节省了你的精力和时间,和降低了制作交叉编译器的难度
支持很多用来调试(debug)的工具:
本地的和跨平台的gdb,gdbserver
调试库:dmalloc, duma
以及一些其他功能,比如从编译失败的那一步,恢复重新编译,从而节省你的大量的时间和精力
背景是:对于交叉编译器的配置,涉及到各个模块的各个版本,自己配置不好的话,很容易出现各种问题,比如版本不兼容
而此处提供了,很多个,已经经过验证的配置,针对各个架构(CPU)的各种默认配置
如此,你就可以利用已有的配置,从而简化你的配置的复杂度,极大的降低了你制作交叉工具链的难度,时间,精力。
crosstool-ng,不仅支持,普通的各种Linux发行版,比如常见的Ubuntu
还支持Cygwin
这意味着,在纯的Windows环境下
(用Cygwin模拟Linux环境,在Cygwin下制作交叉编译器等等,在Cygwin下用交叉编译器去编译uboot,kernel等等)
也可以去折腾嵌入式开发了