centos65 folly的编译安装

折腾了许久,终于装上了folly。

下面把一些编译过程中出现的错误记录下来,方便下次安装。

下面教程的依赖库百度云:http://pan.baidu.com/s/1ntMVy9F



编译环境是:

gcc/g++ 4.8.3


folly

1、在执行命令:autoreconf -ivf的时候如果出现xx找不到,那么:

  • 检查libtool有没有安装
  • 如果你是通过yum安装的automake/autoconf,那么请去官网下载最新版本安装
  • 然后再执行次命令 

2、当第一条执行完毕的后,应该会很高兴才对,接下来进行configure.这个应该没有问题,我没有出现问题。
3、make
  • 我在这一步出现了2个问题,折腾了个把小时,还是朋友帮忙的结果
  • 第一个问题是出现 关键字:libiberty 的错误,解决方法是把上面百度云连接里的库拷贝到:make folly的时候你注意看提示有个路径,路径应该是/usr/local/int64,别拷贝错了,拷贝错了无效!同时如果文件已存在,则记得备份已有文件!
  • 继续执行 make
  • 第二个问题是:libgflags.a 的问题,bad xxx... 看起来很崩溃啊,我当初一开始就在这里用configure CFLAGS='-fPIC' 等等,什么都试过了,但是依然无用。最后的解决方法是:重新编译安装gflags,在编译gflags的时候,是在对gflags执行configure的时候加上fPIC。然后安装,然后再去folly目录执行make。


如果在编译的过程中出现google-flags/log问题,请参照:http://blog.csdn.net/oiooooio/article/details/49514127

在编程中如果出现2个未定义的引用,提示的内容大致如下:
cplus_demangle_v3_callback
那么要在folly的源码中编辑文件:configure.ac,注释掉 
AC_SEARCH_LIBS([cplus_demangle_v3_callback], [iberty_pic iberty])
#if test "$ac_cv_search_cplus_demangle_v3_callback" != "no" ; then
  #AC_DEFINE([HAVE_CPLUS_DEMANGLE_V3_CALLBACK], [1],
  #          [Define to 1 if we have cplus_demangle_v3_callback.])
#fi
这几行,重新编译安装即可!


如果在编译的过程中,出现boost库的语法错误,那么可能是你boost库没有安装好,我是重新安装boost库就可以了,目前我用的是157版本


结束!

你可能感兴趣的:(C++,CENTOS)