编译过程的一点心得
Posted zhang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译过程的一点心得相关的知识,希望对你有一定的参考价值。
最近在交叉编译一个程序,因为使用的交叉编译器的版本比较低,然后交叉编译环境中还缺少一些依赖库,所以整个过程出现了不少问题。体会如下:
1. 缺少头文件不一定意味着缺少.so库文件。
由于编译环境有许多包没有安装,难免在编译阶段会提示缺少头文件,这时候并不意味着缺少的是一个软件包,先把头文件给弄上,交叉编译环境可以从主机中取头文件。至于是否需要库文件,看看链接阶段是否报错吧。
2. 必要时可以砍掉一些功能。
(1)编译阶段报错了,错误的位置是一个函数的定义,发现该函数没有referenced,注释掉就行了。
(2)configure阶段出错了,原因是缺少某个包,若无法肯定在最终的程序中该包是必须的,那就看看是否可以向configure传递相关参数,将该功能给disable掉。
(3) 一些无关紧要的用于显示警告之类的信息的,但是使用了编译器不理解的语法,这属于无关紧要的功能,注释掉好了。
3. 编译器不理解相关语法导致的错误。
发挥你的才智,使用各种丑陋的方式,反正你最终的目的是让程序编译通过,优化什么的那是后话。
4. 记起来再写。。。
以上是关于编译过程的一点心得的主要内容,如果未能解决你的问题,请参考以下文章