glibmm: glibmm Reference Manual

Description

glibmm is the official C++ interface for the popular cross-platform library Glib. It provides non-UI API that is not available in standard C++ and makes it possible for gtkmm to wrap GObject-based APIs. See also the Programming with gtkmm book for a tutorial on programming with gtkmm and glibmm.

Features

giomm (part of the glibmm project) also contains:

Basic Usage

Include the glibmm header, plus giomm if necessary:

#include <glibmm.h>
#include <giomm.h>

(You may include individual headers, such as glibmm/ustring.h instead.)

If your source file is program.cc, you can compile it with:

g++ program.cc -o program `pkg-config --cflags --libs glibmm-2.68 giomm-2.68`

If your version of g++ is not C++17-compliant by default, add the -std=c++17 option.

If you use Meson, include the following in meson.build:

glibmm_dep = dependency('glibmm-2.68')
giomm_dep = dependency('giomm-2.68')
program_name = 'program'
cpp_sources = [ 'program.cc' ]
executable(program_name,
cpp_sources,
dependencies: [ glibmm_dep, giomm_dep ]
)

Alternatively, if using autoconf, use the following in configure.ac:

PKG_CHECK_MODULES([GLIBMM], [glibmm-2.68 giomm-2.68])

Then use the generated GLIBMM_CFLAGS and GLIBMM_LIBS variables in the project Makefile.am files. For example:

program_CPPFLAGS = $(GLIBMM_CFLAGS)
program_LDADD = $(GLIBMM_LIBS)