关于protobuf javascript的版本

转载请注明:http://blog.csdn.net/herm_lib/article/details/8580917


找了几个protobuf的js版本,官方推荐的两个:

前一个半成品都算不上,肯定不能用;后一个很多特性也不支持。

不小心找到了google closure library的protobuf js版本。很奇怪,这个怎么没有作为官方推荐,以前没用过js,根本不知道有closure这个玩意。找得好辛苦。

closure protobuf js是以plugin的形式支持生成proto文件。

closure library: http://code.google.com/p/closure-library/downloads/list

protobuf-plugin-closure: http://code.google.com/p/protobuf-plugin-closure/source/checkout

js plugin须要我们自己编译,步骤如下:

1. 先下载整个protobuf,编译出protoc和各种lib库。

2. 生成两个支持的proto文件  
./protoc -I./js/protobuf/js/ -I./src --cpp_out=./js/protobuf/js/ ./js/protobuf/js/javascript_package.proto
./protoc -I./js/protobuf/js/ -I./src --cpp_out=./js/protobuf/js/ ./js/protobuf/js/int64_encoding.proto

3. 编译插件
 g++ -I./src -I./js/ ./src/google/protobuf/compiler/plugin.pb.cc ./src/google/protobuf/compiler/plugin.cc ./js/protobuf/js/code_generator.cc ./js/protobuf/js/protoc_gen_js.cc ./javascript_package.pb.cc ./js/protobuf/js/int64_encoding.pb.cc /home/users/h/hu/huangrg/protobuf-2.4.1/src/.libs/libprotobuf.a /home/users/h/hu/huangrg/protobuf-2.4.1/src/.libs/libprotoc.a -o ./js/protoc-gen-js -lpthread

4. 测试一下test.proto

 ./protoc --plugin=./protoc-gen-js -I../ -I../../src/ -I./js --js_out=./js --cpp_out=./js ./js/test.proto


上面要注意,protobuf-plugin-closure的源码资源和整个protobuf路径关系。


http://github.com/sirikata/protojs 安装方法

protojs里面有README,描述了安装方法。

1. 执行./bootstrap.sh

     会执行失败,不能下载antlr-3.2.jar和另外一个C运行库。打开bootstrap.sh,把下载连接改一下:

     http://www.antlr.org/......  改成: http://www.antlr3.org/......

2. make一下,须要java支持,没有java也安装一下java就好了。

    


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值