Protobuf C++环境配置

本文介绍了 Protobuf 的基本概念、优点和使用流程,详细阐述了如何配置 Protobuf C++ 开发环境,包括下载源码、配置cmake、生成静态库和代码生成器,以及将 Protobuf 应用到Windows控制台项目中的步骤。通过示例展示了从编写.proto文件到生成类型定义文件和测试代码的过程。
摘要由CSDN通过智能技术生成

protobuf是什么?

简单地说,就是谷歌开发的一种跨平台,跨语言,可拓展的序列化,反序列化工具【功能类似json,xml,多用于文本传输】

protobuf优点

主要是更加轻便,编码后的数据比xml和json都要小

protobuf使用流程

  1. 配置环境
  2. 将需要传递的数据写成.proto描述文件
  3. 使用生成工具【protoc.exe】生成需要的特定语言的类型定义文件【例如C++就生成.c、.h,Js就生成.js】
  4. 使用protobuf接口初始化自定义类型对象
  5. 编码
  6. 传输
  7. 解码成自定义对象

准备文件

  1. 下载protobuf源码存放到:protobuf仓库
  2. 下载并配置cmake
    2.1. cmake下载地址
    2.2. 确保控制台识别“cmake”命令,否则可能没有把cmake.exe所在目录加入系统环境变量
  3. 查看protobuf的ReadMe继续配置:
    3.1. 下载googletest仓库
    3.2. 将googletest-master中的googletest目录重命名为gtest并剪贴到googlemock目录
    3.3. 将googletest-master中的googlemock目录重命名为gmock并剪贴到protobuf-master目录
  4. 打开cmake-gui.exe,点击BrowseSource,选择protobuf–master中的cmake目录在这里插入图片描述
  5. 点击browsebuild选择项目生成目录【我这里姑且命名为Install】
  6. 然后,Configure,Generate,注意这里生成的时候需要选定发布平台是32位还是64位,后面不能改
  7. 生成成功后打开生成的protobuf.sln
  8. 分别对图中三个项目点击生成
    libprotobuf libprotoc 生成运行时需要的两个静态库
    protoc 生成【能够根据proto文件生成对应语言数据结构定义的】代码生成器【exe】在这里插入图片描述
    至此,已经生成所有需要的文件
    到这里已经具备所有文件,可以应用到项目中去了。

【举个例子】如何配置protobuf到具体项目

  1. 新建windows控制台空项目
    个人习惯】 略作整理目录结构
    —LearnProtobuf
    ------3rd
    ---------protobuf
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您好!要将 Protocol Buffers (protobuf) 文件生成 C 代码,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了 Protocol Buffers 编译器(protoc)。如果尚未安装,请根据您的操作系统下载并安装 protoc。 2. 下载并安装适用于 C 的 Protocol Buffers 库。您可以从 Protocol Buffers GitHub 存储库(https://github.com/protocolbuffers/protobuf)中获取最新的 C 版本。 3. 在您的 protobuf 文件中定义消息和服务。假设您的文件名为 example.proto,并且包含了您所需的消息和服务定义。 4. 使用以下命令将 .proto 文件编译为 C 代码: ``` protoc -I=<proto_file_directory> --c_out=<output_directory> example.proto ``` 其中,<proto_file_directory> 是包含 protobuf 文件的目录路径,<output_directory> 是生成的 C 代码输出目录路径。 5. 执行上述命令后,将会在指定的输出目录中生成一些 C 文件。这些文件包括与您在 .proto 文件中定义的消息和服务相对应的 C 结构体和函数。 6. 将生成的 C 代码添加到您的项目中,并将其与 Protocol Buffers 库一起构建。根据您所使用的构建系统和工具链,可能需要进行一些额外的配置和设置。 请注意,上述步骤只是一个概述,具体实施会因您的项目和环境而有所不同。因此,建议您参考 Protocol Buffers 官方文档以获取更详细的指导和示例:https://developers.google.com/protocol-buffers/docs/cpptutorial
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值