lcm-gen man page

lcm-gen — code generation tool.

Synopsis

lcm-gen [options] FILE...

Description

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#.

General 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.

C 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).

C++ 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.

Java 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)

Python Options

-p, --python

Emit Python code.

--ppath DIR

Destination base directory for generated Python files. (default: current directory)

Lua Options

-l, --lua

Emit Lua code.

--lpath DIR

Lua destination directory.

C#.Net 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)

Author

This manual page was written by Albert Huang.

Referenced By

lcm-spy(1).

2007-12-13 Lightweight Communications and Marshalling (LCM)