106 lines
4.0 KiB
Markdown
Executable File
106 lines
4.0 KiB
Markdown
Executable File
Using the schema compiler {#flatbuffers_guide_using_schema_compiler}
|
|
=========================
|
|
|
|
Usage:
|
|
|
|
flatc [ GENERATOR OPTIONS ] [ -o PATH ] [ -I PATH ] [ -S ] FILES...
|
|
[ -- FILES...]
|
|
|
|
The files are read and parsed in order, and can contain either schemas
|
|
or data (see below). Data files are processed according to the definitions of
|
|
the most recent schema specified.
|
|
|
|
`--` indicates that the following files are binary files in
|
|
FlatBuffer format conforming to the schema indicated before it.
|
|
|
|
Depending on the flags passed, additional files may
|
|
be generated for each file processed:
|
|
|
|
For any schema input files, one or more generators can be specified:
|
|
|
|
- `--cpp`, `-c` : Generate a C++ header for all definitions in this file (as
|
|
`filename_generated.h`).
|
|
|
|
- `--java`, `-j` : Generate Java code.
|
|
|
|
- `--csharp`, `-n` : Generate C# code.
|
|
|
|
- `--go`, `-g` : Generate Go code.
|
|
|
|
- `--python`, `-p`: Generate Python code.
|
|
|
|
- `--javascript`, `-s`: Generate JavaScript code.
|
|
|
|
- `--php`: Generate PHP code.
|
|
|
|
For any data input files:
|
|
|
|
- `--binary`, `-b` : If data is contained in this file, generate a
|
|
`filename.bin` containing the binary flatbuffer (or a different extension
|
|
if one is specified in the schema).
|
|
|
|
- `--json`, `-t` : If data is contained in this file, generate a
|
|
`filename.json` representing the data in the flatbuffer.
|
|
|
|
Additional options:
|
|
|
|
- `-o PATH` : Output all generated files to PATH (either absolute, or
|
|
relative to the current directory). If omitted, PATH will be the
|
|
current directory. PATH should end in your systems path separator,
|
|
e.g. `/` or `\`.
|
|
|
|
- `-I PATH` : when encountering `include` statements, attempt to load the
|
|
files from this path. Paths will be tried in the order given, and if all
|
|
fail (or none are specified) it will try to load relative to the path of
|
|
the schema file being parsed.
|
|
|
|
- `-M` : Print make rules for generated files.
|
|
|
|
- `--strict-json` : Require & generate strict JSON (field names are enclosed
|
|
in quotes, no trailing commas in tables/vectors). By default, no quotes are
|
|
required/generated, and trailing commas are allowed.
|
|
|
|
- `--defaults-json` : Output fields whose value is equal to the default value
|
|
when writing JSON text.
|
|
|
|
- `--no-prefix` : Don't prefix enum values in generated C++ by their enum
|
|
type.
|
|
|
|
- `--scoped-enums` : Use C++11 style scoped and strongly typed enums in
|
|
generated C++. This also implies `--no-prefix`.
|
|
|
|
- `--gen-includes` : (deprecated), this is the default behavior.
|
|
If the original behavior is required (no include
|
|
statements) use `--no-includes.`
|
|
|
|
- `--no-includes` : Don't generate include statements for included schemas the
|
|
generated file depends on (C++).
|
|
|
|
- `--gen-mutable` : Generate additional non-const accessors for mutating
|
|
FlatBuffers in-place.
|
|
|
|
- `--gen-onefile` : Generate single output file (useful for C#)
|
|
|
|
- `--gen-all`: Generate not just code for the current schema files, but
|
|
for all files it includes as well. If the language uses a single file for
|
|
output (by default the case for C++ and JS), all code will end up in
|
|
this one file.
|
|
|
|
- `--raw-binary` : Allow binaries without a file_indentifier to be read.
|
|
This may crash flatc given a mismatched schema.
|
|
|
|
- `--proto`: Expect input files to be .proto files (protocol buffers).
|
|
Output the corresponding .fbs file.
|
|
Currently supports: `package`, `message`, `enum`, nested declarations,
|
|
`import` (use `-I` for paths), `extend`, `oneof`, `group`.
|
|
Does not support, but will skip without error: `option`, `service`,
|
|
`extensions`, and most everything else.
|
|
|
|
- `--schema`: Serialize schemas instead of JSON (use with -b). This will
|
|
output a binary version of the specified schema that itself corresponds
|
|
to the reflection/reflection.fbs schema. Loading this binary file is the
|
|
basis for reflection functionality.
|
|
|
|
NOTE: short-form options for generators are deprecated, use the long form
|
|
whenever possible.
|