gRPC protobuf for C++ 基本使用

gRPC protobuf for C++ 基本使用

要在Linux上编译.proto文件并生成gRPC代码,您需要遵循以下步骤:

  1. 确保已在系统上安装了Protocol Buffers(简称为protobuf)。可以从protobuf官方网站(https://developers.google.com/protocol-buffers)下载和安装protobuf编译器。

  2. 确保已安装gRPC的依赖库,包括gRPC和gRPC的protobuf插件。可以使用以下命令安装:

    $ sudo apt install -y build-essential autoconf libtool pkg-config
    $ sudo apt install -y libgflags-dev libgtest-dev
    $ sudo apt install -y clang libc++-dev
    $ git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc
    $ cd grpc
    $ git submodule update --init
    $ make
    $ sudo make install
    $ cd third_party/protobuf
    $ sudo make install
    

    上述命令将从gRPC的GitHub存储库中克隆源代码,并安装所需的依赖项。

  3. 编写您的.proto文件,并确保在文件中定义了所需的gRPC服务和消息。

  4. 使用protobuf编译器生成对应的代码。可以使用以下命令:
    将生成的 grpc_cpp_plu gin.exe 复制放到 protobuf 文件夹下,与protoc.exe在一起
    windows 下可以使用shell命令 创建一个 .bat 的文件,linux 下可以创建一个 .sh文件

protoc.exe -I=. --grpc_out=. --plugin=protoc-gen-grpc=./grpc_cpp_plugin.exe grpcHandle.proto
protoc.exe -I=. --cpp_out=. grpcHandle.proto
PAUSE

就会在当前目录下生成 grpcHandle.grpc.pb.cc grpcHandle.grpc.pb.h grpcHandle.pb.cc grpcHandle.pb.h 四个文件

  1. 编译生成的代码。您需要将生成的代码与gRPC库链接在一起,以构建您的应用程序。可以使用适当的编译器命令,例如g++

    $ g++ -std=c++11 -I<path_to_grpc_headers> -I<path_to_protobuf_headers> \
      -L<path_to_grpc_libraries> -L<path_to_protobuf_libraries> \
      -o <output_executable> <your_code.cpp> -lgrpc++ -lgrpc -lprotobuf
    

    替换<path_to_grpc_headers><path_to_grpc_libraries>为gRPC头文件和库文件的路径,替换<path_to_protobuf_headers>
    <path_to_protobuf_libraries>为protobuf头文件和库文件的路径,<output_executable>为输出可执行文件的路径和名称,<your_code.cpp>为您的应用程序代码文件。

    编译命令会将您的应用程序与gRPC和protobuf库链接在一起,并生成可执行文件。

完成上述步骤后,您应该能够成功在Linux上编译.proto文件并生成gRPC代码。请根据您的项目结构和配置进行必要的调整。

参考网址:
https://blog.csdn.net/Coxhuang/article/details/110421900?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169289315616800182735942%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=169289315616800182735942&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-25-110421900-null-null.142v93chatsearchT3_1&utm_term=protobuf%E7%94%9F%E6%88%90c%2B%2B&spm=1018.2226.3001.4187

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值