zoukankan      html  css  js  c++  java
  • 编译过程的一点心得

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

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

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

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

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

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

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

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

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

    4. 记起来再写。。。

  • 相关阅读:
    hdu 2647 Reward
    hdu 2094 产生冠军
    hdu 3342 Legal or Not
    hdu 1285 确定比赛名次
    hdu 3006 The Number of set
    hdu 1429 胜利大逃亡(续)
    UVA 146 ID Codes
    UVA 131 The Psychic Poker Player
    洛谷 P2491消防 解题报告
    洛谷 P2587 [ZJOI2008]泡泡堂 解题报告
  • 原文地址:https://www.cnblogs.com/vanwoos/p/6715947.html
Copyright © 2011-2022 走看看