编译过程的一点心得

最近在交叉编译一个程序,因为使用的交叉编译器的版本比较低,然后交叉编译环境中还缺少一些依赖库,所以整个过程出现了不少问题。体会如下:

1. 缺少头文件不一定意味着缺少.so库文件。

由于编译环境有许多包没有安装,难免在编译阶段会提示缺少头文件,这时候并不意味着缺少的是一个软件包,先把头文件给弄上,交叉编译环境可以从主机中取头文件。至于是否需要库文件,看看链接阶段是否报错吧。

 

2. 必要时可以砍掉一些功能。

(1)编译阶段报错了,错误的位置是一个函数的定义,发现该函数没有referenced,注释掉就行了。

(2)configure阶段出错了,原因是缺少某个包,若无法肯定在最终的程序中该包是必须的,那就看看是否可以向configure传递相关参数,将该功能给disable掉。

(3) 一些无关紧要的用于显示警告之类的信息的,但是使用了编译器不理解的语法,这属于无关紧要的功能,注释掉好了。

 

3. 编译器不理解相关语法导致的错误。

发挥你的才智,使用各种丑陋的方式,反正你最终的目的是让程序编译通过,优化什么的那是后话。

 

4. 记起来再写。。。

 

转载于:https://www.cnblogs.com/vanwoos/p/6715947.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值