读书人

protobuf的运用

发布时间: 2012-07-30 16:19:05 作者: rapoo

protobuf的使用

google下载protobuf,http://code.google.com/p/protobuf/downloads/list

protobuf-2.4.1.tar.bz2

?

#tar jxvf protobuf-2.4.1.tar.bz2

#cd?protobuf-2.4.1

#./configure

#make

#sudo make install

?

运行,ubuntu下默认报错

protoc: error while loading shared libraries: libprotobuf.so.7: cannot open shared object file: No such file or directory

protoc: error while loading shared libraries: libprotoc.so.7: cannot open shared object file: No such file or directory
建一下硬链接#cd /usr/lib#sudo ln -s /usr/local/lib/libprotobuf.so.7 libprotobuf.so.7#sudo ln -s /usr/local/lib/libprotoc.so.7 libprotoc.so.7
接下来写一个.proto扩张名的文件addressbook.proto
package tutorial;option java_package = "com.example.tutorial";option java_outer_classname = "AddressBookProtos";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;}message AddressBook {  repeated Person person = 1;}
?具体意思见http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/javatutorial.html
编译程java代码 # protoc --java_out=./ ?addressbook.protook,我们的java文件生成了,引入工程会报错,这时候还需要一个protobuf-java-2.4.1.jar
#cd /path/protobuf-2.4.1/java#mvn package #需要mvn支持编译完成在target下面就能找到protobuf-java-2.4.1.jar了,拷贝到工程lib下面就好

?

?

读书人网 >开源软件

热点推荐