lcm-gen - code generation tool.
Contents
C Options
-c,--c
Emit C code.
--c-cpathDIR
Destination directory for generated .c files. (default: current directory)
--c-hpathDIR
Destination directory for generated .h files. (default: current directory)
--cincludeDIR
Generated #include lines reference this directory
--c-no-pubsubDIR
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#.Net Options
--csharp
Emit C#.NET code
--csharp-pathDIR
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-declSTR
String added to class declarations (default: " : LCM.LCM.LCMEncodable")
--csharp-root-nspNSP
Root C#.NET namespace (wrapper) added before LCM package (default: "")
--csharp-default-nspNSP
Default C#.NET namespace if LCM type has no package (default: LCMTypes)
C++ Options
-x,--cpp
Emit C++ code.
--cpp-hpathDIR
Destination directory for generated .hpp files. (default: current directory)
--cpp-includeDIR
Generated C++ #include lines reference this directory
--cpp-stdSTD
Generated files comply with the specified C++ standard. Supported values are: c++98, c++11.
Default is c++98.
Copyright
lcm-gen is part of the Lightweight Communications and Marshalling (LCM) project. Permission is granted
to copy, distribute and/or modify it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any
later version. See the file COPYING in the LCM distribution for more details regarding distribution.
LCM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details. You should have received a copy of the GNU Lesser General Public License along
with LCM; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301 USA
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-prefixPFX
Add package name PFX as a prefix to the declared package.
--version
Shows version information and exits.
Java Options
-j,--java
Emit Java code.
--jpathDIR
Destination base directory for generated Java files. (default: current directory)
--jmkdir<true|false>
Automatically create Java source directories (default: true)
--jdeclSTR
String added to class declarations (default: implements lcm.lcm.LCMEncodable)
--jdefaultpkgPKG
Default Java package if LCM type has no package (default: lcmtypes)
Lua Options
-l,--lua
Emit Lua code.
--lpathDIR
Lua destination directory.
Name
lcm-gen - code generation tool.
Python Options
-p,--python
Emit Python code.
--ppathDIR
Destination base directory for generated Python files. (default: current directory)
Synopsis
lcm-gen[options]FILE...
