## Version Information

Version Information — Variables and functions to check the GTK+ version

## Synopsis

    #include <gtk/gtk.h>

    extern      const guint gtk_major_version;
    extern      const guint gtk_minor_version;
    extern      const guint gtk_micro_version;
    extern      const guint gtk_binary_age;
    extern      const guint gtk_interface_age;
    gchar*      gtk_check_version               (guint required_major,
                                                 guint required_minor,
                                                 guint required_micro);

    #define     GTK_MAJOR_VERSION
    #define     GTK_MINOR_VERSION
    #define     GTK_MICRO_VERSION
    #define     GTK_BINARY_AGE
    #define     GTK_INTERFACE_AGE
    #define     GTK_CHECK_VERSION               (major,minor,micro)

## Description

GTK+ provides version information, primarily useful in configure checks for builds that have a configure script. Applications will not typically use the features described here.

## Details

### gtk_major_version

    extern const guint gtk_major_version;

The major version number of the GTK+ library. (e.g. in GTK+ version 1.2.5 this is 1.)

This variable is in the library, so represents the GTK+ library you have linked against. Contrast with the GTK_MAJOR_VERSION macro, which represents the major version of the GTK+ headers you have included.

### gtk_minor_version

    extern const guint gtk_minor_version;

The minor version number of the GTK+ library. (e.g. in GTK+ version 1.2.5 this is 2.)

This variable is in the library, so represents the GTK+ library you have linked against. Contrast with the GTK_MINOR_VERSION macro, which represents the minor version of the GTK+ headers you have included.

### gtk_micro_version

    extern const guint gtk_micro_version;

The micro version number of the GTK+ library. (e.g. in GTK+ version 1.2.5 this is 5.)

This variable is in the library, so represents the GTK+ library you have linked against. Contrast with the GTK_MICRO_VERSION macro, which represents the micro version of the GTK+ headers you have included.

### gtk_binary_age

    extern const guint gtk_binary_age;

This is the binary age passed to libtool. If libtool means nothing to you, don't worry about it. ;-)

### gtk_interface_age

    extern const guint gtk_interface_age;

This is the interface age passed to libtool. If libtool means nothing to you, don't worry about it. ;-)

### gtk_check_version ()

    gchar*      gtk_check_version               (guint required_major,
                                                 guint required_minor,
                                                 guint required_micro);

Checks that the GTK+ library in use is equal to the given version. Primarily useful to compare the header file version (from GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION) the the runtime library version. This should only be done in the build for your application, to check that the user's libraries and header files are the same. Applications should not do this when deployed, because it's OK for applications to use a different micro version of GTK+ than the one they were compiled against.

`required_major` : | the required major version.
`required_minor` : | the required major version.
`required_micro` : | the required major version.
Returns : | `NULL` if the GTK+ library is compatible with the given version, or a string describing the version mismatch.

### GTK_MAJOR_VERSION

    #define GTK_MAJOR_VERSION				(2)

Like gtk_major_version, but from the headers used at application compile time, rather than from the library linked against at application run time.

### GTK_MINOR_VERSION

    #define GTK_MINOR_VERSION				(3)

Like gtk_minor_version, but from the headers used at application compile time, rather than from the library linked against at application run time.

### GTK_MICRO_VERSION

    #define GTK_MICRO_VERSION				(0)

Like gtk_micro_version, but from the headers used at application compile time, rather than from the library linked against at application run time.

### GTK_BINARY_AGE

    #define GTK_BINARY_AGE					(300)

Like gtk_binary_age, but from the headers used at application compile time, rather than from the library linked against at application run time.

### GTK_INTERFACE_AGE

    #define GTK_INTERFACE_AGE				(0)

Like gtk_interface_age, but from the headers used at application compile time, rather than from the library linked against at application run time.

### GTK_CHECK_VERSION()

    #define     GTK_CHECK_VERSION(major,minor,micro)

Returns `TRUE` if the version of the GTK+ header files is the same as the passed-in version.

`major` : | major version (e.g. 1 for version 1.2.5)
`minor` : | minor version (e.g. 2 for version 1.2.5)
`micro` : | micro version (e.g. 5 for version 1.2.5)