rootcling - Man Page


usage: rootcling [-f F] [-v V] [-v0 V0] [-v1 V1] [-v2 V2] [-v3 V3] [-v4 V4]
                [-m M] [-rmf RMF] [-rml RML] [-split SPLIT] [-s S]
                [-multiDict MULTIDICT] [-inlineInputHeader INLINEINPUTHEADER]
                [-interpreteronly INTERPRETERONLY]
                [-noIncludePaths NOINCLUDEPATHS] [-excludePath EXCLUDEPATH]
                [--lib-list-prefix LIB_LIST_PREFIX]


This program generates the dictionaries needed for performing I/O of classes.



Overwrite an existing output file

The output file must have the .cxx, .C, .cpp, .cc or .cp extension.


Display all messages


Display no messages at all


Display only error messages


Display error and warning messages (default).


Display error, warning and note messages


Display all messages


Specify absolute or relative path Clang pcm file to be loaded

The pcm file (module) produced by this invocation of rootcling

will not include any of the declarations already included in the

pcm files loaded via -m.  There can be more than one -m


Rootmap file name

Name of the rootmap file. In order to be picked up by ROOT it must

have .rootmap extension


Rootmap library name

Specify the name of the library which contains the autoload keys. This

switch can be specified multiple times to autoload several libraries in

presence of a particular key


Split the dictionary

Split the dictionary in two, putting the ClassDef functions in a separate



Target library name

The flag -s must be followed by the name of the library that will

contain the object file corresponding to the dictionary produced by

this invocation of rootcling.

The name takes priority over the one specified for the rootmapfile.

The name influences the name of the created pcm:

  1) If it is not specified, the pcm is called libINPUTHEADER_rdict.pcm

  2) If it is specified, the pcm is called libTARGETLIBRARY_rdict.pcm

     Any "liblib" occurence is transformed in the expected "lib"

  3) If this is specified in conjunction with --multiDict, the output is



Enable support for multiple pcms in one library

Needs the -s flag. See its documentation.


Add the argument header to the code of the dictionary

This allows the header to be inlined within the dictionary


No IO information in the dictionary


Do not store the headers' directories in the dictionary

Instead, rely on the environment variable $ROOT_INCLUDE_PATH at runtime


Specify a path to be excluded from the include paths

specified for building this dictionary


Specify libraries needed by the header files parsed

This feature is used by ACliC (the automatic library generator).

Rootcling will read the content of for a list of rootmap files (see

rlibmap). Rootcling will read these files and use them to deduce a list of

libraries that are needed to properly link and load this dictionary. This

list of libraries is saved in the first line of the file xxx.out; the

remaining lines contains the list of classes for which this run of

rootcling produced a dictionary