# Gtk+

**URL:** <https://www.debian-fr.org/t/gtk/54006>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 12:41 UTC](https://www.debian-fr.org/t/gtk/54006 "2016-02-21T12:41:06Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Stephane38](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/3be4f8/32.png) [@Stephane38](https://www.debian-fr.org/u/Stephane38)\
**Post date:** [Février 21, 2016, 12:41 UTC](https://www.debian-fr.org/t/gtk/54006/1 "2016-02-21T12:41:06Z")

</div>

Bonjour,  
Je suis nouveau sur ce site donc veuillez m’excuser si le sujet a déjà été traité (avec plus de 1100, je n’ai pas eu le courage de tous les lire !).  
Je programme un peu en C et j’aurais voulu rendre mes programmes un peu plus conviviaux. J’ai donc longtemps hésité entre Qt et GTK+ pour finalement opter pour GTK+.

GTK+ 2.0 est installé sur mon ordinateur (et fonctionne plutôt bien puisque Gnome, qui utilise GTK+, ne me pose aucun problème) (J’utilise DEBIAN Lenny).

Mon problème : Lors de la compilation, gcc ne semble pas savoir où se trouvent les différents include de la librairie GTK+ (sur ma machine ils sont dans /usr/include/gtk±2.0). Est-ce que quelqu’un sait comment dire à gcc où charcher ? Ou alors, puis-je utiliser une variable d’environnement du shell pour préciser à gcc la localisation des include ?

Bonne journée.

---

<div class="post-metadata">

**Author:** ![Deathsceythe](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/ed655f/32.png) [@Deathsceythe](https://www.debian-fr.org/u/Deathsceythe)\
**Post date:** [Février 21, 2016, 12:41 UTC](https://www.debian-fr.org/t/gtk/54006/2 "2016-02-21T12:41:08Z")

</div>

Bonjour,

Pour indiquer au gcc ou se trouve les includes et les librairies, moi j’utilise la commande pkg-config :

Pour les includes :

```auto
 $ pkg-config --cflags gtk+-3.0
```

et pour les librairies (\*.so et/ou \*.a) :

```auto
$ pkg-config --libs gtk+-3.0
```

Met ça dans ton Makefile et le tour est joué.

Bon code 🙂

---

<div class="post-metadata">

**Author:** ![Stephane38](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/3be4f8/32.png) [@Stephane38](https://www.debian-fr.org/u/Stephane38)\
**Post date:** [Février 21, 2016, 12:41 UTC](https://www.debian-fr.org/t/gtk/54006/3 "2016-02-21T12:41:10Z")

</div>

Merci beaucoup.  
Je ne connaissais pas du tout pkg-config.  
De longues nuits de code s’ouvrent à moi maintenant.  
Merci bien.

---

<div class="post-metadata">

**Author:** ![mcp44](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mcp44/32/3385_2.png) [@mcp44](https://www.debian-fr.org/u/mcp44)\
**Post date:** [Février 21, 2016, 12:41 UTC](https://www.debian-fr.org/t/gtk/54006/4 "2016-02-21T12:41:21Z")

</div>

Ouep.

Dans le Makefile ça donne qqchose comme ça :

`GTK_CFLAGS+=`pkg-config --cflags gtk+-3.0`
GTK_LDLAGS+=`pkg-config --libs gtk+-3.0`
`  
et plus loin, dans la ligne de compil proprement dite :

`ma_target: ma_source.c
    $(CC) $(CFLAGS) $(LDFLAGS) $(GTK_CFLAGS) $(GTK_LDLAGS) ma_source.c -o $@`

➡ make 🙂
