当前位置:  技术问答>linux和unix

问个开源软件交叉编译的通用问题

    来源: 互联网  发布时间:2016-08-31

    本文导语:  最近交叉交叉编译一些软件到arm平台上,有不少类似的问题一直无解,请高手帮忙。 一般开源库在configure的时候都是会检测系统一些依赖库的安装状态,然后生成“正确的”Makefile 但是 交叉编译时候,configure根据...

最近交叉交叉编译一些软件到arm平台上,有不少类似的问题一直无解,请高手帮忙。


一般开源库在configure的时候都是会检测系统一些依赖库的安装状态,然后生成“正确的”Makefile

但是 交叉编译时候,configure根据的是 开发机的配置来生成Makefile,这明显不符合要求。
请问如何在交叉编译的时候让configure根据目标平台的rootfs来决定如何生成Makefile。(rootfs在开发机的特定的一个目录下)。由于Makefile生成不正确还引入了一系列其他的问题。比如我再对libdbus交叉编译生成Makefile后,然后make,在生成dbus-daemon时,arm-linux-gcc竟然去主动链接 开发机的/usr/libdbus-1.0.so这个库,然后报了个 动态库格式不正确。

欢迎大家广泛提供相关信息,如果有介绍这个方面的相关资料,请不吝赐教。
多谢了!




|
我接触过的几个交叉编译环境都是针对不同体系结构有各自的库和工具目录,如powerpc架构,那就一定是去链接powerpc目录下的库文件。

感觉交叉编译环境都比较脆弱,不应该太依赖于configure检测,折腾好某个架构下的Makefile就一直用它了,不存在每次都configure再去生成Makefile的问题。

或者是通过硬赋值的方式来引导configure,如指定体系结构,指定大小端,指定库文件路径等。

|
先设置host=arm-linux,然后执行./configure看有什么错误,最后查看该错误是否会影响代码,如果不影响则在configure注销该段检测代码.然后生成Makefile编译,如果在遇到问题,直接修改Makefile文件.直至编译成功.

没什么好办法,除非开源软件本身就预见到了将会在arm-linux下使用,否则需要自己去调试编译.

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • tcmalloc内存泄露优化c++开源库下载,安装及使用介绍
  • 新手如何加入开源项目 有什么好的c++,java 开源适合新手 请指点!
  • apache的开源小组怎么生存的?比如struts的开源小组,他们的成果被商用也没人付钱
  • 建议建立一个面向开源软件组织和准备参与开源组织者的交流通道
  • 飞思卡尔I.MX53处理器硬件开源 联永羲和开源硬件系统
  • 开源软件和不开源软件哪个质量更高?
  • 开源爱好者进来
  • 开源专家:企业级开源软件大盘点
  • 企业不用开源产品的原因??
  • [讨论]自由软件之于开源软件
  • linux开源软件
  • 参与开源项目
  • 开源力量ConcourseConnect
  • 开源门户平台 GateIn
  • 开源CRM软件 Daffodil CRM
  • linux下的软件都必须是开源的么
  • 开源VPN软件 Freelan
  • 开源潜水设备 OpenROV
  • 开源的Common Lisp 编译器 Steel Bank Common Lisp iis7站长之家
  • 免费开源图形API Mesa3D
  • 开源Flash播放器 Lightspark


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3