2. Usage

This section explains the usage of Fast DDS-Gen tool and briefly describes the generated files.

2.1. Running the Fast DDS-Gen Java application

First, the steps outlined in Linux installation of Fast DDS-Gen or Window installation of Fast DDS-Gen must be accomplished for the installation of Fast DDS-Gen. According to this section, an executable file for Linux and Windows that runs the Java Fast DDS-Gen application is available in the scripts folder. If the scripts folder path is added to the PATH environment variable, Fast DDS-Gen can be executed running the following commands:

  • Linux:

    $ fastddsgen
  • Windows:

    > fastddsgen.bat


In case the PATH has not been modified, these scripts can be found in the <fastddsgen_directory>/scripts directory.

2.2. Supported options

The expected argument list of the application is:

fastddsgen [<options>] <IDL file> [<IDL file> ...]

Where the option choices are:




Sets the Fast CDR version used to generate types source code.
- v1. Generate source code for Fast CDR v1.
- v2 (default). Generate source code for Fast CDR v2.
- both. Generate source code for both Fast CDR v1 and Fast CDR v2.


Enables Case Sensitivity

-d <directory>

Sets the output directory where the generated files are created.

-default_extensibility <extensibility>
-de <extensibility>

Sets the default extensibility for types without the @extensibility annotation.
- final
- appendable (default)
- mutable

-example <platform>

Generates an example and a solution to compile the generated source code for a specific
platform. The help command shows the supported platforms.

-extrastg <template> <output>

Specifies a custom template used for generating source code.
This option expects the location of the template and the location of the file where source code output will be stored.
A custom template example can be found in this link


Shows the help information

-I <directory>

Add directory to preprocessor include paths.


Disables the preprocessor.


Specifies the preprocessor path.


Generates source code and a CMake solution to compile a library containing the data types
Python bindings required to run a Fast DDS Python-based application. This option is
incompatible with the -example and -typeobject ones.


Replaces the generated source code files even if they exist.

-t <directory>

Sets a specific directory as a temporary directory.


Generates TypeObject files for the IDL provided and modifies MyType constructor to
register the TypeObject representation into the factory.


Generates type naming compatible with ROS 2


Shows the current version of eProsima Fast DDS-Gen.

Please refer to Dynamic Topic Types for more information on TypeObject representation.