Linux Command Library


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.


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


Enable generation of Java bindings and store them in OUT_DIR.


Enable generation of Python bindings and store them in OUT_DIR.

-h, --help

Show summary of options.


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

More documentation about protocol buffers syntax and APIs is available online at

Iustin Pop <>

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
Sonnenallee 29, 12047 Berlin, Germany

Privacy policy
Successfully copied