lcm-gen(1) | Lightweight Communications and Marshalling (LCM) | lcm-gen(1) |
NAME¶
lcm-gen - code generation tool.
SYNOPSIS¶
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)
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
AUTHOR¶
This manual page was written by Albert Huang.
2007-12-13 | LCM |