lcm-gen - code generation tool.
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#.
- -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, --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).
- -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.
- -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)
- -p, --python
- Emit Python code.
- --ppath
DIR
- Destination base directory for generated Python files. (default: current
directory)
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
This manual page was written by Albert Huang.