Ceci est une ancienne révision du document !


Gtkmm

Gtkmm est un framework C++ permettant la création d'interface graphiques. Il s'agit d'une surcouche à GTK+ qui permet aux programmeurs c++ d'utiliser GTK+ par le biais de classes, et ainsi de profiter de tous les avantages du c++ (dérivation…).

Pour installer les librairies de développement de gtkmm, il faut installer le paquet libgtkmm-2.4-dev .

Si vous le désirez vous pouvez installer la documentation (en anglais) en installant libgtkmm-2.4-doc. Pour la lire, vous pouvez utiliser le programme devhelp, ou simplement votre navigateur web préféré en vous rendant à l'adresse file:///usr/share/doc/libgtkmm-2.4-doc/docs/index.html

Avec g++

Pour compiler, vous devrez linker le projet en utilisant l'utilitaire pkg-config comme ci-dessous:

g++ fichier.cpp -o executable `pkg-config gtkmm-2.4 --cflags --libs`  

Avec l'IDE codeblocks

Pour compiler sous Codeblocks, il vous suffit également de linker le projet, toujours en utilisant l'utilitaire pkg-config de la manière suivante :

  • Créez un projet de type « console application » en C++ dans codeblocks.
  • Allez dans Project → Build options → Compiler settings → Other options, et collez-y ceci :
`pkg-config --cflags gtkmm-2.4`
  • Allez dans Project → Build options → Linker settings → Other linker options, et collez-y ceci :
`pkg-config --libs gtkmm-2.4`
  • Entrez un code de base pour gtkmm :
#include <iostream>
#include <gtkmm-2.4/gtkmm.h>

int main(int argc, char *argv[])
{
    Gtk::Main kit(argc, argv);
    return 0;
}
  • Vous pouvez maintenant écrire et compiler votre projet. Vous pouvez également l'enregistrer comme template : File → save project as user template. Vous pourrez ainsi créer directement dans codeblocks un nouveau projet utilisant gtkmm : File → New → Project → User templates.

Bien sûr, cette démarche doit être adaptée à la version de gtkmm que vous utilisez. Les lignes ci-dessus ont été écrite pour le paquet gtkmm-2.4. Mais si vous avez installé le paquet gtkmm-3.0, elles doivent être naturellement adaptées de la façon suivante :

  • Créez un projet de type « console application » en C++ dans codeblocks.
  • Allez dans Project → Build options → Compiler settings → Other options, et collez-y ceci :
`pkg-config --cflags gtkmm-3.0`
  • Allez dans Project → Build options → Linker settings → Other linker options, et collez-y ceci :
`pkg-config --libs gtkmm-3.0`
  • Entrez un code de base pour gtkmm :
#include <gtkmm.h>

int main(int argc, char *argv[])
{
    Gtk::Main kit(argc, argv);
    Gtk::Window window;
    kit.run(window);
    return 0;
}

Il peut être intéressant, surtout si l'on débute en C++, de compléter l'installation de Codeblocks en installant des exemples de programmes. On peut trouver de nombreux exemples sur le site http://git.gnome.org/browse/gtkmm-documentation/tree/examples/book Comme on peut le voir sur les forums, ils ont l'inconvénient de présenter des erreurs à la compilation ! Ceci est sans doute du fait que la version de gtkmm utilisée pour les mettre au point n'est pas précisée et est sans doute différente de la vôtre.

Voici quelques conseils pour vous aider à les faire tourner avec gtkmm-3.0 :

  • La première étape consiste à récupérer les codes sources des programmes donnés en exemple sur le site http://git.gnome.org/browse/gtkmm-documentation/tree/examples/book et à les placer dans un répertoire local.
  • Ensuite, on ouvre un nouveau projet en utilisant le nouveau type de projet que vous avez créé en suivant les indications ci-dessus.

File → New → Project → From templates… et vous choisissez le modèles que vous venez de créer pour gtkmm-3.0.

  • Une fenêtre de dialogue vous demande alors de choisir le répertoire de travail. Et vous choisissez le répertoire dans lequel se trouve les sources du programme qui vous intéresse. Vous confirmez que vous n'avez pas peur d'écraser les fichiers. En fait, il n'y aura pas d'écrasement de fichier puisque vous n'écrivez alors qu'un fichier un fichier projet Codeblock (*.cbp), un fichier XML (*.layout) et un seul fichier source "main.cpp" qui contient tout simplement le code base entré pour créer votre "User Template". Ce fichier ne va pas écraser le fichier initial de programme exemple car celui-ci est dans le fichier "main.cc".
  • Ensuite on peut ajouter à notre projet Codeblock les fichier source du programme exemple (*.h et *.cc). Pour ce faire

Avec CMake

Cmake est un programme permettant de simplifier la compilation en générant des makefiles. Pour utiliser gtkmm avec cmake, il faut procéder ainsi :

project(nom_du_projet)
cmake_minimum_required(VERSION 2.6)

find_package(PkgConfig)
pkg_check_modules(GTKMM gtkmm-2.4 )

link_directories(
    ${GTKMM_LIBRARY_DIRS} )

include_directories(
${GTKMM_INCLUDE_DIRS} )  

set (SRC
main.cpp
#Vos sources
)

add_executable(executable 
    ${SRC} )

target_link_libraries(executable 
    ${GTKMM_LIBRARIES} )

CMake utilisera pkg-config pour trouver la librairie, ce code ne permet donc pas de compiler un programme gtkmm de façon portable.

  • gtkmm.1339445950.txt.gz
  • Dernière modification: Le 11/06/2012, 22:19
  • par 88.120.181.98