【整理】交叉编译和现存的交叉编译工具

 

什么是交叉编译

在一种(当前的,所谓的building的)平台上,编译出来的东西(可执行文件,库文件等等)是运行在另一种平台上。

比如在x86的硬件上的win7系统中,去为ARM平台编译,编译出来的可执行文件,是运行在arm的开发板上的。

 

其他一些可参考的内容:

Introduction to cross-compiling for Linux

wiki Cross compiler

osdev的GCC Cross-Compiler

CMake Cross Compiling

这里教你用crosstool-ng去编译交叉工具链的:

Distcc Cross-Compiling

 

Chapter 8. Using an external toolchain

 

 

为何要有交叉编译

因为目标平台,比如arm开发板,中,没有这套编译环境,不方便编译。

 

现存的交叉编译工具

 

参考:

http://elinux.org/Toolchains

总结如下:

 

Buildroot

http://www.buildroot.net/

不仅能制作交叉工具链,而且还可以制作根文件系统rootfs。

 

Crossdev

http://www.gentoo.org/proj/en/base/embedded/handbook/

中的:

http://www.gentoo.org/proj/en/base/embedded/handbook/?part=1&chap=1

 

 

crosstool

http://kegel.com/crosstool/

现在用的最多的是那个0.43的版本。

 

Crosstool-NG

http://crosstool-ng.org/

 

可以去:

http://crosstool-ng.org/download/crosstool-ng/

下载。

稍微要提醒的是:

页面最底端,是1.9.3的版本,其不是最新的,

最新的版本,截止2013-08-08,是页面中间部分的,1.18.0

 

OSELAS.Toolchain()

http://www.pengutronix.de/oselas/toolchain/index_en.html

 

Bitbake

http://en.wikipedia.org/wiki/BitBake

->

http://developer.berlios.de/projects/bitbake

 

 

Embedded Linux Development Kit (ELDK)

http://www.denx.de/wiki/DULG/ELDK

也是和交叉编译相关的。

提供编译好的东西供使用。

可以去这里:

http://www.denx.de/wiki/view/DULG/ELDKAvailability

去下载。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量