zoukankan      html  css  js  c++  java
  • CMake 方式编译 gRPC

    首先,下载 gRPC 源代码到本地:

    如果只想下载指定版本的,如以版本“1.27.3”为例,可改成如下语句:

    上列操作成功完成后,gRPC 源码的第三方依赖目录 third_party 实际是空的,需通过下列步骤拉取依赖的第三方。切换到 grpc 目录,下载 grpc 第三方依赖到本地:

    • git submodule update --init

    grpc依赖的第三方库有点多,如果不借助”git submodule“,手工一个个下载不太容易。

    注意,gRPC 要求 CMake 3.5.1 或以上版本的CMake,否则会报错”CMake 3.5.1 or higher is required“。

    如果遇到下列问题,则表示第三方库没有准备好:

    CMake Warning at cmake/abseil-cpp.cmake:30 (message):

    gRPC_ABSL_PROVIDER is "module" but ABSL_ROOT_DIR is wrong:

    /data/grpc/grpc-1.27.3/third_party/abseil-cpp

    Call Stack (most recent call first):

    CMakeLists.txt:188 (include)


    • gRPC 编译生成 c++ 代码示例(依赖插件 grpc_cpp_plugin):

    protoc --proto_path=. --grpc_out=. --plugin=protoc-gen-grpc=which grpc_cpp_plugin service.proto

    • gRPC 编译生成 go 代码示例(依赖插件 protoc-gen-go):

    protoc --proto_path=. --go_out=plugins=grpc,paths=source_relative:. service.proto

    一般,建议将 grpc_cpp_plugin 和 protoc-gen-go 放在 /usr/local/bin 目录下。

  • 相关阅读:
    P1247 取火柴游戏 (奇异局势)
    1290A
    P1236 算24点
    LCP 4. 覆盖
    leetcode 1066. 校园自行车分配 II
    hdu 2255 奔小康赚大钱
    NC200546 回文串
    上市是什么意思 为什么上市就有钱了
    主板、中小板、创业板、新三板的区别是什么?
    熔断机制
  • 原文地址:https://www.cnblogs.com/aquester/p/12611644.html
Copyright © 2011-2022 走看看