[ProtoBuf]protobuf编译命令 - Go语言中文社区

[ProtoBuf]protobuf编译命令


源码, 如果不想自己编译获得最新版本,则可以下载官方编译好的各个平台的,下载地址
protoc -h

如图

protoc --version

-->>libprotoc 2.5.0

用法

protoc [OPTION] PROTO_FILES    如上图
protoc --proto_path=IMPORT_PATH --cpp_out=DST_DIR --java_out=DST_DIR --python_out=DST_DIR path/to/file.proto
实例:protoc --proto_path=./pb --cpp_out=./GenFileCpp --python_out=./GenFilePython ./pb/server.proto
这里将给出上述命令的参数解释。
1. protoc为ProtocolBuffer提供的命令行编译工具。
2. --proto_path等同于-I选项,主要用于指定待编译的.proto消息定义文件所在的目录,该选项可以被同时指定多个。若某个.proto文件引入了别的.proto文件,则需要设置此选项。例如:command.proto: File not found.
PATH/server.proto: Import "command.proto" was not found or had errors.
protoc --proto_path=./pb --cpp_out=./GenFileCpp ./pb/server.proto
<<==>>protoc -I=./pb --cpp_out=./GenFileCpp ./pb/server.proto
<<==>>protoc -I./pb --cpp_out=./GenFileCpp ./pb/server.proto
<<==>>protoc.exe -I./pb --cpp_out=./GenFileCpp ./pb/server.proto
3. --cpp_out选项表示生成C++代码,--java_out表示生成Java代码,--python_out则表示生成Python代码,其后的目录为生成后的代码所存放的目录。通过命令protoc -h可得知支持哪些语言,若生成js,lua的这需要其他的一些配置。
4. path/to/file.proto表示待编译的消息定义文件。

注:对于C++而言,通过Protocol Buffer编译工具,可以将每个.proto文件生成出一对.h和.cc的C++代码文件。生成后的文件可以直接加载到应用程序所在的工程项目中。如:MyMessage.proto生成的文件为MyMessage.pb.h和MyMessage.pb.cc。



版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/ouyangshima/article/details/77120715
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-09-13 23:26:34
  • 阅读 ( 1274 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢