关于protobuf javascript的版本
2013-11-21 14:14
211 查看
转载请注明:http://blog.csdn.net/herm_lib/article/details/8580917
找了几个protobuf的js版本,官方推荐的两个:
protobuf-js: http://code.google.com/p/protobuf-js/
protojs: http://github.com/sirikata/protojs
前一个半成品都算不上,肯定不能用;后一个很多特性也不支持。
不小心找到了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就好了。
找了几个protobuf的js版本,官方推荐的两个:
protobuf-js: http://code.google.com/p/protobuf-js/
protojs: http://github.com/sirikata/protojs
前一个半成品都算不上,肯定不能用;后一个很多特性也不支持。
不小心找到了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就好了。
相关文章推荐
- 关于protobuf javascript的版本
- Java与Javascript交互(使用Protobuf协议)
- 在Windows上一键编译各种版本的Protobuf
- 关于 JavaScript prototype __proto__ 一点总结
- 关于json与protobuf的材料
- javascript之ProtoBuf在websocket中的使用
- 关于eclipse Mars以上版本(Mars 以及NEON)写DOM的时候没有javascript提示的问题
- 关于google的protobuf
- 关于protobuf中的field_number范围的解释
- 关于protobuf 枚举未指定默认值的情况
- paddlepaddle编译问题汇总:protobuf版本问题和WITH_SWIG_PY默认状态问题
- 在Javascript中使用protobuf与c++进行通信
- PROTOBUF 的错误 也许是GCC版本不对,现在我用的是GCC4.9出现错误。可能要用GCC5才能解决问题
- c++ java中关于protobuf反序列化对象实体和实体处理(函数)关系 (一)
- protobuf 最新版本编译 Google Protobuf 3.0.1
- 在Javascript中使用protobuf与c++进行通信
- nodejs使用官方Google Protobuf 3 版本3.2.0
- 在windows上一键编译各种版本的protobuf(2017-12-05修改)
- win环境下实现导出protobuf文件的lua版本
- 关于google protobuf编译找不到不到google\protobuf\stubs\common.h头文件的问题