folly库依赖的组件版本可以在build\fbcode_builder\manifests目录查看,比如需要查看double-conversion的版本,只需要打开double-conversion文件,就能查看到依赖文件的详细版本信息。
![](https://i-blog.csdnimg.cn/blog_migrate/1eb1a2b6a5e06c475b55cc5a46a18b18.png)
这篇文章,我会把double-conversion, google-gflags, glog, fmt, googletest, boost安装都讲完,这些都是我实践检验过的。
说明:我安装了folly-2020.12.28.00,因为版本高的安装时会报很多错,这个低版本的很顺利。
一、folly依赖的重要组件:double-conversion的安装
1、下载
![](https://i-blog.csdnimg.cn/blog_migrate/3cead52432f3c68223780fa52a03a229.png)
解压缩:tar -zxvf v3.1.4.tar.gz
2、安装
(1)cmake . -DBUILD_TESTING=ON
(2)make
(3)make install
(4)test/cctest/cctest --list | tr -d '<' | xargs test/cctest/cctest
注意:
Use -DBUILD_SHARED_LIBS=ON to enable the compilation of shared libraries. Note that this disables static libraries. There is currently no way to build both libraries at the same time with cmake.
Use -DBUILD_TESTING=ON to build the test executable.
二、folly依赖的重要组件:google-gflags的安装
folly依赖的其他组件安装都挺顺利的,但在安装glog时,make到46%左右就会报错:
(1)undefined reference to `std::__cxx11::basic_string -- gcc版本问题
(2)undefined reference to ‘google::FlagRegisterer::FlagRegisterer -- glog中gflags路径错误
所以gflags的安装就不能按照网络上所说的来安装,需要这么做:
1、下载
![](https://i-blog.csdnimg.cn/blog_migrate/81fee33ee395e0fa4e8e2e1e6f2faa73.png)
解压缩:tar -zxvf v2.2.2.tar.gz
2、设置gcc路径
export CC=<替换成实际路径>/gcc7.4.0/bin/gcc
export CXX=<替换成实际路径>/gcc7.4.0/bin/g++
3、安装
(1)cd gflags-2.2.2/
(2)mkdir _build && cd _build
(3)cmake -DGFLAGS_NAMESPACE=google -DCMAKE_CXX_FLAGS=-fPIC -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DBUILD_gflags_LIB=ON ..
(4)make
(5)make install
三、folly依赖的重要组件:glog的安装
1、下载
![](https://i-blog.csdnimg.cn/blog_migrate/76f841a3e9f93996571943f940589300.png)
解压缩:tar -zxvf v0.4.0.tar.gz
2、修改CMakeList.txt
增加下面2行:
find_package(gflags 2.2.0)
target_link_libraries(gflags)
我把这2行放在下面这2行代码前面:
if (WITH_GFLAGS)
find_package (gflags 2.2.0)
3、安装
(1)cd glog-0.4.0/
(2)mkdir _build && cd _build
(3)cmake -DGFLAGS_NAMESPACE=google -DCMAKE_CXX_FLAGS=-fPIC -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON ..
(4)make
(5)make install
四、folly依赖的重要组件:fmt的安装
下面这些组件的安装都挺顺利的,除了boost的安装过程稍微多花一些时间。
1、下载
![](https://i-blog.csdnimg.cn/blog_migrate/b35fc4cc95f81f8b9d37b9d427773a10.png)
解压缩:tar -zxvf 6.1.1.tar.gz
2、安装
(1)cd fmt-9.1.0
(2)mkdir _build && cd _build
(3)cmake ..
(4)make -j$(nproc)
(5)sudo make install
五、folly依赖的重要组件:googletest的安装
1、下载
![](https://i-blog.csdnimg.cn/blog_migrate/15c4e3c12663c9034e3cd96f4377ff82.png)
解压缩:tar -zxvf release-1.10.0.tar.gz
2、安装
(1)cd googletest-release-1.8.0 &&
(2)mkdir _build && cd _build
(3)cmake ..
(4)make
(5)make install
六、folly依赖的重要组件:boost的安装
1、下载
![](https://i-blog.csdnimg.cn/blog_migrate/a998f59787054adc1c31e17899ff4351.png)
解压缩:tar -jxvf boost_1_69_0.tar.bz2
2、安装
(1)cd boost_1_69_0
(2)./bootstrap.sh
(3)./b2 (耗时几十分钟,中间会报一些包错误,不用管)
(4)sudo ./b2 install
这些依赖安装后,再安装folly可以顺利通过了,没必要所有的依赖都装。