zoukankan      html  css  js  c++  java
  • [转]开源库的编译

    转载地址:http://www.cnblogs.com/milocode/archive/2012/10/26/2741051.html

      有的时候我们不免需要使用开源库进行编译,刚从windows转到linux上的时候是有各种的不习惯。所以想说说在开源库在编译的时候需要注意的问题。

      在你编译一个开源库的时候总会遇到问题,在写这篇文章之前,我编译了很多开源库,mmseg、sphinx、boost、x264、ffmpeg、memcache、ngeix等。在编译这些库的时候,总会出现各种莫名其妙的问题。有的时候想是不是有什么办法可以解决这些问题,让编译变得简单。很不幸,没有找到好的方式。那出现问题了我们该从那些方面去解决。

      1、首先,你要阅读开源软件的主页中的文档,找到编译相关的东西,了解开源库的适用情况注意事项等

      2、其次,你要准备编译开源库所需要的工具,比如编译x264的时候需要aysm等。还有编译的依赖库。

      3、接着,你需要阅读每个开源库的configure,在这里你可以看到编译时候的选项。这个是相当重要的,因为如果你有些功能没有启用,在你以后的编程中可能就

        就会发现,别人的库可以正常,为啥自己的不正常,从源头把这个封杀掉,不要因为这个而造成排查错误的苦难。

      4、接下来,你就需要查找是不是交叉编译,如果是的华,一定要注意运行主机的架构也就是arch的重要性,这个将会是非常重要的,如果你则个弄不好,就会造

         成架构不统一,一旦其他库连编的时候就会找不到lib等

      5、再次,你需要做的就是把相关的include,complie,lib路径全部设置正确,如果是A开源库利用了B开源库,那么B的相关include和lib路径也一定要提供。

      6、最后就是进行编译了。复杂的最好写成shell。

    如果按照以上步骤基本可以很正常的编译各种开源库。但是在编译过程中可能还会有问题。这个时候我们应该还是基于上面说的进行纠错。

      首先检查 configure.log看看问题,这个是你解决编译时错误的第一步,大多数的时候通过这个就可以发现问题的所在。

      PS:一般编译不过,其实就那几个点:库和头文件路径、主机CPU架构(x86_64还是i386还是arm)、工具。

  • 相关阅读:
    c语言求最大公约数和最小公倍数(转)
    git 提交去除每次输账号密码
    phpstorm使用zen coding 快速编辑补全html/css代码
    YII2.0使用ActiveForm表单(转)
    php面向对象之trait
    php操作redis(转)
    模块
    列表生成式 与生成器表达式
    三元表达式,递归,内置函数
    面向过程的编程思想
  • 原文地址:https://www.cnblogs.com/Crysaty/p/6605869.html
Copyright © 2011-2022 走看看