folly库安装(5)folly的安装

文章提供了两种安装folly的方法:一是通过下载源码,解压,然后使用cmake和make进行编译安装;二是利用folly官网的python3脚本进行自动化安装,但需注意可能遇到的网络问题和依赖包的安装。尽管作者在第二种方法中遇到困难,但仍然建议读者尝试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上面这些准备工作做完了,现在就可以安装folly了,其实这时folly的安装已经非常顺利了。网上有人说folly的安装很麻烦,最重要是上面的准备工作没做好,只要你按照我上面的文章,一步步做下来,安装成功是没问题的。

一、传统安装方法

1、下载

去github或gitee网站下载folly-2020.12.28.00.tar.gz。

解压缩:tar -zxvf folly-2020.12.28.00.tar.gz

2、安装

(1)cd folly

(2)mkdir _build && cd _build

(3)cmake ..

(4)make

(5)make install

二、folly官网还提供一种安装方法,就是用python3脚本安装,虽然我没法顺利安装(被墙了,有的包没法从git下载),但我这里还是要跟大家说下。

1、显示需要安装的包

./build/fbcode_builder/getdeps.py install-system-deps folly --recursive

可以用dnf安装依赖的包,命令如下:

dnf install -y autoconf automake boost-devel boost-static cmake double-conversion double-conversion-devel gflags-devel glog-devel libevent-devel libsodium-devel libsodium-static libtool libzstd libzstd-devel lz4-devel lz4-static ninja-build snappy-devel xz-devel

2、编译

python3 ./build/fbcode_builder/getdeps.py build folly --allow-system-packages

这个是folly官网推荐的安装方法。但我没有成功,朋友们可以去试下这个方法。

<think>好的,用户想了解或使用Folly,特别是使用指南或下载方法。首先,我需要回忆一下Folly的基本信息。Folly是Facebook开源的C++,专注于性能和实用性,包含各种高效的数据结构和算法。用户可能对如何下载和安装它,以及基本使用方法感兴趣。 根据引用[4],在CentOS 7上安装Folly比较麻烦,建议用Ubuntu。我需要先告诉用户系统要求,比如支持的Linux发行版和编译器版本。然后,下载步骤通常是通过Git克隆仓,但用户可能需要安装依赖项,比如CMake、g++等。安装过程可能涉及使用CMake构建和安装,这里需要详细说明步骤,但也要注意不同系统的差异。 接下来是使用指南部分,用户可能需要一个简单的示例来开始。例如,使用Folly的fbstring类,或者并发数据结构如AtomicHashMap。引用[3]提到atomic_queue常与其他异步框架结合使用,可能可以举一个多线程的例子。但要注意代码示例的正确性,确保语法正确,并且符合用户的实际应用场景。 另外,用户可能遇到安装问题,特别是依赖项缺失或编译错误。需要提醒他们查看官方文档,并确保所有依赖如Boost、Gflags安装正确。引用[4]提到安装过程复杂,可能需要特别指出常见问题,比如CentOS的依赖管理问题,建议使用Ubuntu以避免麻烦。 还要考虑用户的实际需求,他们可能是开发者,希望提高应用性能,所以需要强调Folly的优势,如高性能数据结构、并发工具等。引用[1]提到Folly帮助处理性能挑战,可以引用这一点来推荐。 最后,生成相关问题,可能涉及性能分析、具体组件的使用、与其他的对比,以及在不同系统上的安装问题。要确保问题覆盖用户可能进一步探索的方向。</think>### Folly使用指南及下载方法 Folly(Facebook Open Source Library)是Meta(原Facebook)开源的C++基础工具,专注于高性能与实用功能,包含字符串处理、并发数据结构、性能分析工具等模块[^1]。以下是关键使用指南: --- #### 一、安装指南(以Ubuntu为例) 1. **系统要求** - 支持Linux/macOS(推荐Ubuntu 20.04+/CentOS 8+) - 编译器:GCC 9+ 或 Clang 10+ - 依赖项:CMake、Git、Boost、Gflags 2. **下载与编译** ```bash # 克隆仓 git clone https://github.com/facebook/folly.git cd folly mkdir build && cd build # 编译安装 cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local make -j$(nproc) sudo make install ``` CentOS用户需手动安装更多依赖(如`libevent-devel`),建议优先使用Ubuntu[^4]。 --- #### 二、核心功能使用示例 1. **高性能字符串处理** ```cpp #include <folly/FBString.h> folly::fbstring str = "Folly测试"; str += " - 高效字符串操作"; fmt::print("{}\n", str); // 结合fmt输出[^2] ``` 2. **并发数据结构** ```cpp #include <folly/concurrency/AtomicHashMap.h> folly::AtomicHashMap<int, std::string> map(100); map.insert(1, "Value1"); auto it = map.find(1); if (it != map.end()) { fmt::print("Key 1: {}\n", it->second); } ``` 3. **异步编程支持** 结合`atomic_queue`实现任务队列[^3]: ```cpp #include <folly/MPMCQueue.h> folly::MPMCQueue<std::function<void()>> queue(100); // 生产者线程 queue.blockingWrite([] { fmt::print("Task executed\n"); }); // 消费者线程 std::function<void()> task; queue.blockingRead(task); task(); ``` --- #### 三、常见问题 1. **依赖缺失** 若编译报错,检查是否安装`libdouble-conversion-dev`、`libgflags-dev`等包。 2. **兼容性问题** 确保代码使用C++17及以上标准编译(CMake中添加`set(CMAKE_CXX_STANDARD 17)`)。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值