lcm-gen1
Code generation tool.
Usage
- lcm-gen [options] FILE...
Overview
lcm-gen is the Lightweight Communications and Marshalling code generation utility. It takes as input one or more .lcm files containing LCM message type definitions, and generates language-specific bindings for marshalling and unmarshalling messages of the specified types.
Currently, lcm-gen is capable of generating language bindings for C, C++, Java, Python, Lua, and C#.
Options
-
-h -
Prints some help text and exits.
-
-t, --tokenize -
Show tokenization.
-
-d, --debug -
Show parsed files.
-
--lazy -
Generate output file only if .lcm is newer than output file (or if output file does not already exist).
-
--package-prefix PFX -
Add package name PFX as a prefix to the declared package.
-
--version -
Shows version information and exits.
Options
-
-c, --c -
Emit C code.
-
--c-cpath DIR -
Destination directory for generated .c files. (default: current directory)
-
--c-hpath DIR -
Destination directory for generated .h files. (default: current directory)
-
--cinclude DIR -
Generated #include lines reference this directory
-
--c-no-pubsub DIR -
Do not generate _publish and _subscribe functions. This results in .c and .h files that have no linking dependencies and can be used for just marshalling, separately from liblcm. They still #include <lcm/lcm_coretypes.h>, so you will need to copy that file to the appropriate include path.
-
--c-typeinfo -
Generate typeinfo functions for each type (experimental).
Options
-
-x, --cpp -
Emit C++ code.
-
--cpp-hpath DIR -
Destination directory for generated .hpp files. (default: current directory)
-
--cpp-include DIR -
Generated C++ #include lines reference this directory
-
--cpp-std STD -
Generated files comply with the specified C++ standard. Supported values are: c++98, c++11. Default is c++98.
Options
-
-j, --java -
Emit Java code.
-
--jpath DIR -
Destination base directory for generated Java files. (default: current directory)
-
--jmkdir <true|false> -
Automatically create Java source directories (default: true)
-
--jdecl STR -
String added to class declarations (default: implements lcm.lcm.LCMEncodable)
-
--jdefaultpkg PKG -
Default Java package if LCM type has no package (default: lcmtypes)
Options
-
-p, --python -
Emit Python code.
-
--ppath DIR -
Destination base directory for generated Python files. (default: current directory)
Options
-
-l, --lua -
Emit Lua code.
-
--lpath DIR -
Lua destination directory.
Options
-
--csharp -
Emit C#.NET code
-
--csharp-path DIR -
C#.NET destination directory
-
--csharp-mkdir <true|false> -
Make C#.NET source directories automatically (default: true)
-
--csharp-strip-dirs <true|false> -
Do not generate folders for default and root namespace (default: false)
-
--csharp-decl STR -
String added to class declarations (default: " : LCM.LCM.LCMEncodable")
-
--csharp-root-nsp NSP -
Root C#.NET namespace (wrapper) added before LCM package (default: "")
-
--csharp-default-nsp NSP -
Default C#.NET namespace if LCM type has no package (default: LCMTypes)
Releases
Unchanged in 5 releases since Debian 9 (Stretch).