在c++中使用protobuf

首先下载protobuf-2.5.0,解压之后,打开VS 进行编译,得到libprotoc.lib、libprotobuf-lite.lib、libprotobuf.lib和protoc.exe


创建一个文件proto文件:testpro.proto,内容如下:

message Person {
  required string name = 1;
  required int32 id = 2;
  optional string email = 3;
 
  enum PhoneType {
    MOBILE = 0;
    HOME = 1;
    WORK = 2;
  }
 
  message PhoneNumber {
    required string number = 1;
    optional PhoneType type = 2 [default = HOME];
  }
 
  repeated PhoneNumber phone = 4;
}


用protoc.exe对testpro.proto进行编译,命令如下:

protoc -I=$SRC_DIR --cpp_out=$DST_DIR $SRC_DIR/testpro.proto

即:protoc -I=./ --cpp_out=./ ./testpro.proto

那么会在当前目录下得到两个文件testpro.pb.cc和testpro.pb.h


使用vs创建一个工程,将testpro.pb.cc、testpro.pb.h、libprotoc.lib和libprotobuf.lib复制到工程目录下,然后将protobuf-2.5.0\src\google文件夹的路径添加到工程目录中,就可以使用了,代码如下

#include "testpro.pb.h"
#include <iostream>
#include <string>
using namespace std;

#pragma comment(lib,"libprotobuf.lib")
#pragma comment(lib,"libprotobuf-lite.lib")

void TestProto()
{
	Person* per = new Person;

	per->set_id(100);

	per->PrintDebugString();
}

int main()
{
	TestProto();
	return 0;
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值