Windows下google/protobuf v3.9.1--VS2017 x86 x64编译、使用 - Go语言中文社区

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


一、编译

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

VS2017

CMake:https://cmake.org/download/

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 --cpp_out=./ addressbook.proto
//可以包含多个-I 路径,应为官方例子包含了import "google/protobuf/timestamp.proto";所以多包含一个路径才能正常生成.h .cpp
protoc.exe -I=C:UsersHolyDesktopprotobufprotobufTestprotobufTest -I=C:UsersHolyDesktopprotobufprotobufprotobufx86Debuginclude --cpp_out=C:UsersHolyDesktopprotobufprotobufTestprotobufTest addressbook.proto

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

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

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

#define PROTOBUF_USE_DLLS

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

http://download.csdn.net/download/qing666888/10220793

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qing666888/article/details/79137963
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-07 20:40:20
  • 阅读 ( 1277 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢