bionic (1) lcm-gen.1.gz

Provided by: liblcm-bin_1.3.1+repack1-1_amd64 bug

NAME

       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)

       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.