当我进入嵌入式系统时,我注意到一些项目(例如Arch和OpenBSD )不愿意交叉编译。这是什么理由呢?交叉编译的二进制文件与本地编译的二进制程序有什么不同吗?
OpenBSD建议,基于硬件的构建可以确保系统充分发挥功能(以及自我托管),这是完全合理的。但是人们实际上是在他们开发的硬件上开发和编译内核驱动程序吗?听起来很费时。
系统中有交叉编译工具,供提出新平台的开发人员使用。但是,这些工具并不是一般使用的。
-http://www.openbsd.org/faq/faq5.html#ProbXComp
我会看看是否能找到IRC日志,ArchLinux Arm的一位开发人员告诉我,他们没有交叉编译,尽管他们似乎已经更新了与DistCC:http://archlinuxarm.org/developers/distcc-cross-compiling交叉编译的信息。
发布于 2014-05-01 20:22:34
对于像Arch和OpenBSD这样试图构建和维护一个复杂的交互式用户环境的项目,一个强烈的偏好是做“本地构建”(用OpenBSD术语来说)迫使开发人员“吃他们自己的狗食”,并将在N环境中维护M代码生成器的MxN问题降到最低。
对于在一小群开发人员控制下具有一个目标环境和应用程序代码的嵌入式系统项目,这种推理不适用。
https://softwareengineering.stackexchange.com/questions/230143
复制相似问题