Exiv2: rcsid.hpp File Reference

- Main Page
- Namespaces
- Classes
- Files
- Examples

- Search for |

# rcsid.hpp File Reference

Define an RCS id string in every object file compiled from a source file that includes rcsid.hpp. More...

## Defines
#define | EXIV2_RCSID(id)
| Macro to store version information in each object file.

## Detailed Description

Define an RCS id string in every object file compiled from a source file that includes rcsid.hpp.

This is a simplified version of the ACE_RCSID macro that is used in the ACE(TM) distribution.

Version:

Rev
  1366

Author:
  Andreas Huggel (ahu) ahuggel@gmx.net

Date:
  02-Feb-04, ahu: created

## Define Documentation

#define EXIV2_RCSID | ( | id |  | ) |

Value:

    namespace { \
            inline const char* getRcsId(const char*) { return id ; } \
            const char* rcsId = getRcsId(rcsId); \
        }

Macro to store version information in each object file.

Use this macro by including the following two lines at the beginning of each *.cpp file. See the ident(1) manual pages for more information.

             #include "rcsid.hpp"
             EXIV2_RCSID("@(#) $Id$");

The macro hack itself has the following purposes:

1. To define the RCS id string variable in the local namespace, so that there won't be any duplicate extern symbols at link time.
2. To avoid warnings of the type "variable declared and never used".