i007.cc

i007.cc

优先队列-降维打击

Protobuf在windows下的编译使用

  (2017-06-14 13:48:11)

标签:

protobuf

windows

cmake

vs

分类: IT

最近项目中用到了protobuf,在网上下载了最新版本protobuf3.3.0,发现都不带vs的工程文件了,3.0之前是自带vs工程的,所以自己在网上搜索了一下,可以用cmake创建vs工程,自己折腾了一番,终于搞定,把方法共享出来

一、下载protobuf

下载地址:https://github.com/google/protobuf/releases

Protobuf在windows下的编译使用

二、 下载cmake

下载地址:https://cmake.org/download/

我的系统是64位的,所以下载的是64位的安装包,大家可以视自己的情况下载合适的安装包

Protobuf在windows下的编译使用

下载下来,按照提示安装完成

三、 生成protobuf的vs工程

打开Cmake(cmake-gui),分别选择protobuf目录下的cmake目录,以及希望vs工程文件存放目录;

Protobuf在windows下的编译使用

选择完成后点击Configure, 选择希望的vs版本,使用默认的编译器,点击Finish即可

Protobuf在windows下的编译使用

最后点击Generate,即可在所设置的目录下生成了protobuf的vs工程

四、生成protobuf库

找到生成的vs工程打开,里面有很多工程,我们只关心红框中的两个工程

Protobuf在windows下的编译使用

设置x64、MTd编译,在工程目录下的Debug和Release目录下生成libprotobuf.lib、libprotoc.lib、protoc.exe,再加上src\google目录的头文件,即可使用

五、protobuf的使用

5.1 将protoc.exe放到一个目录下,新建一个build.bat文件,内容写入protoc –cpp_out=./ *.proto

5.2 将已有的.proto文件放到这个目录下,执行build.bat,就自动生成了对应h和cc文件

5.3 在应用工程里,加入protobuf的src\google目录头文件和libprotobuf.lib、libprotoc.lib库依赖,再加上生成的PB协议h和cc文件就可以解析PB格式协议了

发表回复