Linux Command Library
commands
Commands
basic
Basic
tips
Tips

protoc

compile protocol buffer description files

- Generate Python code from a `.proto` file:
protoc --python_out=[path/to/output_directory] [input_file.proto]

- Generate Java code from a `.proto` file that imports other `.proto` files:
protoc --java_out=[path/to/output_directory] --proto_path=[path/to/import_search_path] [input_file.proto]

- Generate code for multiple languages:
protoc --csharp_out=[path/to/c#_output_directory] --js_out=[path/to/js_output_directory] [input_file.proto]

protoc [--cpp_out=OUT_DIR] [--java_out=OUT_DIR] [--python_out=OUT_DIR] [-IPATH --proto-path=PATH] PROTO_FILE

protoc {-h | --help}

protoc --version

protoc is a compiler for protocol buffers definitions files. It can can generate C++, Java and Python source code for the classes defined in PROTO_FILE.

-IPATH, --proto_path=PATH

Specify the directory in which to search for imports. May be specified multiple times; directories will be searched in order. If not given, the current working directory is used.

--cpp_out=OUT_DIR

Enable generation of C++ bindings and store them in OUT_DIR.

--java_out=OUT_DIR

Enable generation of Java bindings and store them in OUT_DIR.

--python_out=OUT_DIR

Enable generation of Python bindings and store them in OUT_DIR.

-h, --help

Show summary of options.

--version

Show version of program.

Note that at least one of the --cpp_out, --java_out and --python_out options must be given (otherwise the program has nothing to do). It's also possible to specify more than one.

The program currently exits with code 255 for all errors, which makes it hard to differentiante from scripts the actual error.

The upstreams BTS can be found at http://code.google.com/p/protobuf/issues/list.

More documentation about protocol buffers syntax and APIs is available online at http://code.google.com/apis/protocolbuffers/docs/overview.html.

Iustin Pop <iusty@k1024.org>

Wrote this manpage for the Debian system.

Copyright © 2007 Iustin Pop

This manual page was written for the Debian system (but may be used by others).

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or (at your option) any later version published by the Free Software Foundation.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

play store download app store download
Imprint
Sonnenallee 29, 12047 Berlin, Germany
e-mail: sschubert89@gmail.com

Privacy policy
Successfully copied