ubuntu 编译folly库

ubuntu 编译folly库Facebook刚刚开源了它的底层C++库Folly,带着尝鲜的激动心情,决定先把这个库编译出来根据faceboo提供的readme文件中的描述:Dependencies-double-conversion(http://code.google.com/p/double-conversion/)Bydefault,thebuildtoo

大家好,欢迎来到IT知识分享网。ubuntuFacebook刚刚开源了它的底层C++库Folly,带着尝鲜的激动心情,决定先把这个库编译出来

根据faceboo提供的readme文件中的描述:

Dependencies
------------

- double-conversion (http://code.google.com/p/double-conversion/)

By default, the build tooling for double-conversion does not build
any libraries, which folly requires. To build the necessary libraries
copy folly/SConstruct.double-conversion to your double-conversion
source directory before building:

[double-conversion/] scons -f SConstruct.double-conversion

Then set CPPFLAGS/LDFLAGS so that folly can find your double-conversion
build:

[folly/] LDFLAGS=-L<double-conversion>/ CPPFLAGS=-I<double-conversion>/src/
configure ...

- googletest (Google C++ Testing Framework)

Grab gtest 1.6.0 from:
http://googletest.googlecode.com/files/gtest-1.6.0.zip

Unzip it inside of the test/ subdirectory.

- additional platform specific dependencies:

Ubuntu 12.04 64-bit
- g++
- automake
- autoconf
- libtool
- libboost1.46-all-dev
- libgoogle-glog-dev
This package has been removed from 12.04 -- use the one from 11.10
- gflags (packages need to be downloaded from below)
http://gflags.googlecode.com/files/libgflags-dev_2.0-1_amd64.deb
http://gflags.googlecode.com/files/libgflags0_2.0-1_amd64.deb
- scons (for double-conversion)

我们需要准备的依赖包 有double-conversion ,gtest ,glog ,以及gflags

另外boost仅需要1.2以上的版本

其中编译double-conversion需要将/folly/下的 SConstruct.double-conversion脚本拷贝到[double-conversion]目录下

执行 [double-conversion/] scons -f SConstruct.double-conversion 命令 就可以编译出folly需要的两个.a库文件了

由于gtest1.50 以上不再支持make install ,所以我们需要将gtest包下的include目录拷贝到/usr/include.下,同理,最好也将gtest生成的库放在

/usr/lib/下

另外folly在编译的最后会生成benchmark的测试,需要用到gtest的源代码,这部分路径我不会设置,我直接将gtest目录放在了/folly/test/之下

依赖包编译好后,我们需要将double-conversion的引用关系设置好,README 中提示需要设置LDFLAGS/ CPPFLAGS,这个我没想明白怎么设置

,参考了github上的一个issue后

我在原始的configure.ac的对double-conversion检查的语句之前加入了以下两句

LDFLAGS =”-L/home/ubuntu/exp/double-conversion/”;

CPPFLAGS=”-I/home/ubuntu/exp/double-conversion/src”;

不过貌似只有后面一句起了作用

做完以上那些 在folly/目录下执行

autoreconf

如果出现报错,请根据提示参数运行automake

接下来执行./configure

make

sudo make install

之前在ubuntu 10.04上编译,由于采用的是GCC4.4, 之后的库编译会发现对C++1x特性支持不够,导致最后的编译不能通过

所以如果需要在ubuntu10.04上编译的话,需要先升级GCC版本

暂时先记录这么多吧

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/12817.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信