目录

在 CentOS 上安装 DoubleConversion 可以按照以下步骤进行:

  1. sudo yum install gcc-c++ cmake make
    
  2. 下载 DoubleConversion 的源码:

    进入 DoubleConversion 源码目录并构建:

    cd double-conversion
    mkdir build && cd build
    cmake ..
    make
    
  3. sudo make install
    

完成上述步骤后,DoubleConversion 库应该已成功安装在你的系统中。

请注意,这些步骤仅适用于 CentOS。如果你使用其他 Linux 发行版,请参考相应的软件包管理器或官方文档,以了解如何安装 DoubleConversion 库。

fmt and glog

在 CentOS 上安装 fmt 库和 glog 库,可以按照以下步骤进行操作:

安装 fmt 库:

  1. 安装依赖项:

    克隆 fmt 的 GitHub 仓库并构建:

    git clone https://github.com/fmtlib/fmt.git
    cd fmt
    mkdir build && cd build
    cmake ..
    make
    sudo make install
    

安装 glog 库:

  1. sudo yum install autoconf automake libtool
    
  2. 下载 glog 的源码并构建:

    完成上述步骤后,glog 库将被安装到系统中。

    folly

    要安装并使用 Folly,你可以按照以下步骤进行操作:

    1. 安装依赖

    在开始之前,请确保你的系统已经安装了以下依赖项:

    • CMake 3.3+ (用于构建)
    • GCC 4.8+ 或 Clang 3.3+ (作为编译器)
    • Boost (版本要求参考 Folly 文档)

    2. 克隆 Folly 源码

    克隆 Folly 的源代码到本地计算机上:

    git clone https://github.com/facebook/folly.git
    

    3. 构建和安装 Folly

    进入 Folly 源码目录,并执行以下命令进行构建和安装:

    cd folly
    mkdir _build && cd _build
    cmake ..
    make
    sudo make install
    

    4. 使用 Folly

    在你的 C++ 项目中,你可以通过包含相应的头文件并链接 Folly 库来使用它。例如,以下是一个简单的示例程序:

    #include <iostream>
    #include <folly/FBString.h>
    
    int main() {
        folly::fbstring str = "Hello, Folly!";
        std::cout << str << std::endl;
        return 0;
    }
    

    确保在编译时将 Folly 库链接到你的项目中。根据你的构建系统和编译器,链接方式可能会有所不同。

    以上是基本的 Folly 安装和使用步骤。请记住,Folly 是一个功能强大的 C++ 库,提供了许多其他功能和模块(如 Future、String、JSON 等),你可以根据自己的需求进一步探索并使用它们。详细的文档和示例可以在 Folly 的 GitHub 仓库中找到。

    makefile

    CXX = g++
    CXXFLAGS = -std=c++17 -Wall -Wextra
    INCLUDES = -I/usr/local/include/
    LDFLAGS = -L/usr/local/lib64
    LDLIBS = -lfolly -lglog -lfmt -ldl -lpthread
    
    SRCS = test.cpp
    OBJS = $(SRCS:.cpp=.o)
    TARGET = myproject
    
    .PHONY: all clean
    
    all: $(TARGET)
    
    $(TARGET): $(OBJS)
      $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
    
    %.o: %.cpp
      $(CXX) $(CXXFLAGS) $(INCLUDES) -c $< -o $@
    
    clean:
      rm -f $(OBJS) $(TARGET)