colorful

zc qq:1337220912

 

ProtocolBuffers2.4.1应用说明(一)

ProtocolBuffers2.4.1应用说明(一)
2012-02-03 12:07

 

客方的ProtocolBuffers 详细说明,可以下载最新版的ProtocolBuffers包。

我所下载的包是:protobuf-2.4.1.tar.bz2 、 protoc-2.4.1-win32.zip

 

ProtocolBuffers 首页:http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/overview.html

protobuf-2.4.1.tar.bz2  是源码包

 protoc-2.4.1-win32.zip 是编译 .proto 文件的编译器

本文使用 ProtocolBuffers 的环境

操作系统: windows 7 64位

开发工具:Visual studio 2008

开发语言:C++、MFC类库

第一步: 编译protobuf-2.4.1工程

说明:编译protobuf-2.4.1工程后生成 libprotobuf.lib, libprotobuf.lib 会在自已的工程文件中用到这个库文件

1)当前的目录结构为:

E:\ProtocolBuffers\ 此目录结构下有两个包 protobuf-2.4.1.tar.bz2 、protoc-2.4.1-win32.zip

2)解压 protobuf-2.4.1.tar.bz2 包

会生 E:\ProtocolBuffers\protobuf-2.4.1\protobuf-2.4.1目录结构

调整后的目录结构为:E:\ProtocolBuffers\protobuf-2.4.1目录结构,便于应用。

3)VS2008编译工程

找到 E:\ProtocolBuffers\protobuf-2.4.1\vsprojects\protobuf.sln文件。

用VS2008 打开,然后编译整个功程,很顺利的编译完整个功程。

如图所示:

    

编译完成后会在E:\ProtocolBuffers\protobuf-2.4.1\vsprojects\Debug 目录结构中生成libprotobuf.lib库文件。

4) 如果出现问题:

可以阅读 vsprojects\readme.txt 说明文档。  

 

第二步:编写 .proto 文件

 

1)在目录 E:\ProtocolBuffers\protobuf-2.4.1\examples 中有个示例

可以先按官方的文档来熟悉一下。

2) 编写 .proto 文件

自已编写的 shapeobject.proto 文件

 

package candee;

option java_package = "com.example.candee";

option java_outer_classname = "ShapeObjectProto";

message DrawInfoPB {


message ColorVal {

required int32r = 1;//int32  unsigned short

required int32g = 2;

required int32b = 3;

}

 

required int32toolbarState = 1;// TOOLBAR_STATE

required ColorValpenColor = 2;// 笔的颜色

required int32penLineWidth = 3;// 用户设置画笔的宽度

required ColorValwordColor = 4;// 字的颜色

required int32wordLineWidth = 5;// 用户设置字的宽度

required ColorValgraphColor = 6;// 图形的颜色

required int32graph = 7;// 图形

required int32graphLineWidth = 8;// 绘制图形的线宽

}

 

message ShapeObjectPB {

 

required DrawInfoPB drawInfoPB = 1;// 绘画信息

 

message DrawPointPB {

required int32 x1 = 1;

required int32 y1 = 2;

required int32 X2 = 3;

required int32 y2 = 4;

}

repeated DrawPointPB drawPointPB = 2;// 绘画坐标

 

optional string textPB = 3;// 编辑框文字信息

}

 

message DataPB {

repeated ShapeObjectPB shapeObjectPB = 1;

}


第三步 编译 shapeobject.proto 文件,生成C++源文件

 

1)解压 E:\ProtocolBuffers\protoc-2.4.1-win32.zip

   会生成 E:\ProtocolBuffers\protoc-2.4.1-win32\protoc.exe 编译文件。

2) 将 protoc.exe 考贝到 shapeobject.proto文件同一级目录中。

本目录为 E:\ProtocolBuffers\protobuf-2.4.1\examples

3)命令执行protoc 文件

在\examples\ 新建一个目录为 1\用来保存生成的C++源文件

在命令行下,执行protoc --cpp_out=1 shapeobject.proto

如图所示:

 4)生成的C++源文件

在E:\ProtocolBuffers\protobuf-2.4.1\examples\1 目录中保存生成的文件

生成的文件:shapeobject.pb.cc shapeobject.pb.h

将这两个文件添加到你的功程中,就可以用户ProtocolBuffer了

posted on 2012-03-02 22:04 多彩人生 阅读(1055) 评论(0)  编辑 收藏 引用 所属分类: protobuf


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

常用链接

留言簿(3)

随笔分类

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜