什么是交叉编译
在一种(当前的,所谓的building的)平台上,编译出来的东西(可执行文件,库文件等等)是运行在另一种平台上。
比如在x86的硬件上的win7系统中,去为ARM平台编译,编译出来的可执行文件,是运行在arm的开发板上的。
其他一些可参考的内容:
Introduction to cross-compiling for Linux
这里教你用crosstool-ng去编译交叉工具链的:
Chapter 8. Using an external toolchain
为何要有交叉编译
因为目标平台,比如arm开发板,中,没有这套编译环境,不方便编译。
现存的交叉编译工具
参考:
总结如下:
Buildroot
不仅能制作交叉工具链,而且还可以制作根文件系统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
现在用的最多的是那个0.43的版本。
Crosstool-NG
可以去:
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
去下载。
转载请注明:在路上 » 【整理】交叉编译和现存的交叉编译工具