• ubuntu 安装grpc


    整体流程为:下载代码 -> 编译&安装依赖库 -> 编译&安装grpc -> 测试。

    1. 安装openssl

    安装
    wget https://www.openssl.org/source/openssl-1.1.1b.tar.gz tar -xvf openssl-1.1.1b.tar.gz cd openssl-1.1.1b ./config --prefix=/usr/local --openssldir=/usr/local/openssl make && make install

    验证:
    openssl version -a

    2. 安装cmake

    安装:
    wget https://cmake.org/files/v3.17/cmake-3.17.2.tar.gz tar zxvf cmake-3.17.2.tar.gz cd cmake-3.17.2 ./configure sudo make && make install
    验证方式:
    cmake --version

    3. 下载grpc

    sudo apt install -y build-essential autoconf libtool pkg-config
    git clone https://github.com/grpc/grpc.git cd grpc git submodule update --init

    4. 安装absl依赖

    sudo apt-get update && sudo apt-get install -y libssl-dev
    cd third_party/abseil-cpp/cmake
    mkdir build
    sudo cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE ..
    sudo make install

    5. 安装c-ares

    cd third_party/cares/cares
    mkdir build
    cd build
    sudo cmake -DCMAKE_BUILD_TYPE=Release ..
    sudo make install

    6. 安装benchmark依赖

    cmake -DCMAKE_BUILD_TYPE=Release ..

     如果发现找不到gtest库,需要增加参数指定目录: -DGOOGLETEST_PATH=~/grpc/third_party/googletest

    7. 安装protobuf

    cd third_party/protobuf/
    git submodule update --init --recursive
    sudo ./autogen.sh
    sudo ./configure
    sudo make
    sudo make install
    sudo ldconfig
    验证方式: protoc --version

    8. 安装zlib

    cdthird_party/zlib
    mkdir build
    cd build
    cmake -DCMAKE_BUILD_TYPE=Release ..
    make install

    9. 安装grpc

    cd ../..
    sudo make
    sudo make install

    异常处理:
    在sudo make install后出错:Installing via 'make' is no longer supported. Use cmake or bazel instead.
    sudo cmake -DCMAKE_BUILD_TYPE=Release \
    -DgRPC_INSTALL=ON \
    -DgRPC_BUILD_TESTS=OFF \
    -DgRPC_CARES_PROVIDER=package \
    -DgRPC_ABSL_PROVIDER=package \
    -DgRPC_PROTOBUF_PROVIDER=package \
    -DgRPC_SSL_PROVIDER=package \
    -DgRPC_ZLIB_PROVIDER=package ..


     10. 测试

    cd grpc/examples/cpp/helloworld
    make
    ./greeter_server ./greeter_client

    整个流程参考:https://blog.csdn.net/w13l14/article/details/117984322

    参考:https://github.com/IvanSafonov/grpc-cmake-example

  • 相关阅读:
    使用css制作三角
    BZOJ3029: 守卫者的挑战
    Codeforces 442B. Andrey and Problem
    嘴巴题8 BZOJ2318: Spoj4060 game with probability Problem
    嘴巴题7 BZOJ1426: 收集邮票
    嘴巴题6 BZOJ3450JoyOI1952 Easy
    BZOJ1453: [Wc]Dface双面棋盘
    BZOJ2957: 楼房重建
    BZOJ4515: [Sdoi2016]游戏
    BZOJ3679: 数字之积
  • 原文地址:https://www.cnblogs.com/lmhyhblog/p/15676689.html
Copyright © 2020-2023  润新知