首页 > 代码库 > 编译过程的一点心得
编译过程的一点心得
最近在交叉编译一个程序,因为使用的交叉编译器的版本比较低,然后交叉编译环境中还缺少一些依赖库,所以整个过程出现了不少问题。体会如下:
1. 缺少头文件不一定意味着缺少.so库文件。
由于编译环境有许多包没有安装,难免在编译阶段会提示缺少头文件,这时候并不意味着缺少的是一个软件包,先把头文件给弄上,交叉编译环境可以从主机中取头文件。至于是否需要库文件,看看链接阶段是否报错吧。
2. 必要时可以砍掉一些功能。
(1)编译阶段报错了,错误的位置是一个函数的定义,发现该函数没有referenced,注释掉就行了。
(2)configure阶段出错了,原因是缺少某个包,若无法肯定在最终的程序中该包是必须的,那就看看是否可以向configure传递相关参数,将该功能给disable掉。
(3) 一些无关紧要的用于显示警告之类的信息的,但是使用了编译器不理解的语法,这属于无关紧要的功能,注释掉好了。
3. 编译器不理解相关语法导致的错误。
发挥你的才智,使用各种丑陋的方式,反正你最终的目的是让程序编译通过,优化什么的那是后话。
4. 记起来再写。。。
编译过程的一点心得
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。