Expand description

API to generate .rs files using protoc to parse files

This API requires protoc command present in $PATH or explicitly passed to Codegen object (but protoc plugin is not needed).

extern crate protoc_rust;

fn main() {
        .inputs(&["protos/a.proto", "protos/b.proto"])
        .expect("Running protoc failed.");

and in build.rs:

protoc-rust = "2"

It is advisable that protoc-rust build-dependency version be the same as protobuf dependency.

The alternative is to use protobuf-codegen-pure crate.

Protoc binary

This crate searches for protoc binary in $PATH by default.

protoc binary can be obtained using protoc-bin-vendored crate and supplied to Codegen object.

This is version 2

In branch 3 of rust-protobuf this functionality is provided by protobuf-codegen crate.


Protoc --rust_out... args
Protoc --rust_out... args
Specifies style of generated code.


Like protoc --rust_out=... but without requiring protoc-gen-rust command in $PATH.

Type Definitions

Alias for io::Error
Alias for io::Error