• 交叉编译链环境注意事项以及总结


    关于移植

    移植三要素:

             1 源码

             2 交叉工具链

             3 配置

    下面一一说一下。

    源码,请在移植前多google其资料,重点说一下,重点用google,不要baidu,保证你省40%的时间,了解其应用以及相关技术(这个很重要啊,因为有时你需要额外安装很多依赖的库,这个过程最好是大量而快速,不要迷恋其中任何技术细节)。

    下载,必须要到官方网站下载,请不要在中国的任何站点下载,我知道很多网友很热心,到处上传源码,例如51CTO,CU,CSDN之类的,这样做的结果只会是限制你的视野让你更加无知。官网可以让你知道其历史版本,更多技术上的支持。

    交叉工具链,如果有供应商支持的SDK包一般就很简单,configure,make,make install一般没问题。如果没有,可能需要多找点网络资料。可能有童鞋会觉得非常混淆,因为不同的内核和编译器之间的版本支持不一样,所以需要多读一下声明的文件,软件的版本有时真的不是越新越好,对于开源项目,2-5年内的版本如果能够满足需求个人觉得都是可以容忍的。

    配置,这步看似简单,实际上要一步到位可能还得几个项目的积累。一般编译要移植的源代码,主要工作就是配置好交叉工具链在configure上面的位置即可,一般包括CC,AR,RANLIB,LIB,INCLUDE,这步顺利的基础跟之前所说的查找资料很有关。有时可能你会碰到没有configure的开源代码,没办法,直接修改Makefile吧。

    最后无法跳过的编译

    编译,如果是对新人来说,好运反而不好,你会容易丢失很多细节。

    一般这个阶段出问题,无非就是交叉工具链路径不对,没有添加环境变量,源码上找不到*.h,*.c,这种得depend,可以直接修改相关代码的地方(备份好原来的压缩包啊),或者本来就是缺少了一下库的支持,这时只要适当添加对应的库即可。我也碰过一些需要打补丁的,大家可以多看源码的release notes,把相应的库的patch打进去即可。可能还会有各种神奇有趣的事情在前面等着大家去发现。

    编译成功了,可以用file命令看看文件的体系架构是否正确。

    入门的童鞋可能都会比较痛苦,linux体系知识混杂,每前进一步都是不容易的。学习到移植一般都有一定的基础了,祝君一路顺风。

    内容来自http://www.cnblogs.com/noiplee/ ,版权归noiplee所有,你可以任意转载但同时应该注明出处。欢迎评论,不服来辩。
  • 相关阅读:
    第八场 hdu 6136 Death Podracing(dfs+思维)
    第九场 hdu 6162 Ch’s gift(树链剖分+线段树)
    树链剖分 模板
    CodeForces
    第十场 hdu 6172 Array Challenge(矩阵快速幂)
    第十场 hdu 6171 Admiral(双向bfs找交点)
    CodeForces
    第十场 hdu 6178 (bfs)
    第十场 hdu 6180 Schedule (multiset)/(思维)
    第八场 hdu 6143 Killer Names(思维题)
  • 原文地址:https://www.cnblogs.com/noiplee/p/3986763.html
Copyright © 2020-2023  润新知