Windows下google/protobuf v3.9.1--VS2017 x86 x64编译、使用

一、编译

1、准备工作安装下列软件

VS2017

CMake:Download | CMake

2、下载protobuf的C++版本的源代码

https://github.com/google/protobuf/releases

3、解压源码到任意目录,最好不要带中文路径,然后使用CMake配置VS2017的工程。

4、点击第3点中Configure后会弹出如下配置选项,根据需要选择生成32位还是64位的VS2017工程。

5、点击Finish后进行参数配置。我配置生成为动态库工程下面的CMAKE_INSTALL_PREFIX路径为编译后库的安装路径。编译后对应的dll、lib、include文件都放在此目录下。可自行修改,我就不修改了。

6、最后点击图中的Generate按钮后生成VS2017对应工程,直接用VS2017打开后选择INSTALL工程完成编译生成,生成文件建下图。

二、使用

具体C++使用详见官方文档:https://developers.google.com/protocol-buffers/docs/cpptutorial

说下使用过程中的注意事项:

1)把.proto文件拷贝到protoc.exe目录下,使.proto文件生成.h .cpp文件的命令:

//$SRC_DIR  .proto文件存放目录,一般.proto存放src源码目录
//$DST_DIR  输出.h .cpp目录,一般生成到源码目录
//最后面是.proto文件名称
protoc  -I=$SRC_DIR  --cpp_out=$DST_DIR  addressbook.proto

//把.proto文件拷贝到protoc.exe目录,直接执行下面命令生成到当前目录
protoc.exe -I=./ --cpp_out=./ helloworld.proto
//可以包含多个-I 路径,应为官方例子包含了import "google/protobuf/timestamp.proto";所以多包含一个路径才能正常生成.h .cpp
protoc.exe -I=C:\Users\Holy\Desktop\protobuf\protobufTest\protobufTest -I=C:\Users\Holy\Desktop\protobuf\protobuf\protobufx86Debug\include\ --cpp_out=C:\Users\Holy\Desktop\protobuf\protobufTest\protobufTest addressbook.proto
//生成grpc代码
protoc.exe -I=./ --grpc_out=./ --plugin=protoc-gen-grpc=../grpc/grpc_cpp_plugin.exe  helloworld.proto

注意空格,上述参数-I为.proto文件存放目录,一般.proto文件放在src源码目录下(你的应用程序源代码位于哪里——如果你没有提供任何值,将使用当前目录)、目标目录(你想要生成的代码放在哪里;常与 $SRC_DIR 相同),以及你的 .proto 文件名

2)关闭VS2015的工程属性----C/C++----常规----SDL检查 为否

3)因为使用的使动态库所以在stdfx.h预编译头加入下面宏定义,否则编译报错。

#define PROTOBUF_USE_DLLS

VS2015下的测试工程以及编译好的protobuf库:

protocolbuffers(v3.5.1)C++库-C++文档类资源-CSDN下载

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值