Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/11/2007, à 13:47

Gem

[Résolu] Fichiers d'en-tête

Bonjour,

Je me suis mis depuis peu sur la programmation avec gtk. Le problème que j'ai est la disposition des fichiers d'entête. La façon dont ils sont référencés ne correspond pas à  leur emplacement dans le dossier "/usr/include". Je sais qu'en les déplaçant, la correspondance sera parfaite, mais si vous connaissez un moyens moins arrassant que celui-là  dites le moi. Merci.

Dernière modification par Gem (Le 14/11/2007, à 15:17)


Président de la Fondation Maracouja R.D. Congo
La liberté d'abord ! Le logiciel ensuite.

Hors ligne

#2 Le 14/11/2007, à 14:19

trucutu

Re : [Résolu] Fichiers d'en-tête

Aie Aie ! tu peux expliciter ??
Normalement, il n'y a pas besoin de toucher à  ces fichiers...


La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !

Hors ligne

#3 Le 14/11/2007, à 14:26

Gem

Re : [Résolu] Fichiers d'en-tête

J'ai installé libgtk-2.0-dev. Donc normalement je peux utiliser mes fichiers en-tête gtk. Mais seulement, ils sont placé dans le dosssier /usr/include/gtk-2.0/gtk, pendant que dans la plupart de ces fichiers en-tête ils sont référencés /usr/include/gtk. Le même problème m'arive aussi avec par exemple Cairo, les références vers ces fichiers d'en-tête pointent vers /usr/include/cairo.h pendant qu'il est dans /usr/include/cairo/cairo.h.

Edit : Pour gtk, j'ai créé un point de montage /usr/include/gtk et j'ai monté le contenu de /usr/include/gtk-2.0/gtk. Petite consolation, mais pour les autres, pfffff rien à  faire !

Dernière modification par Gem (Le 14/11/2007, à 14:33)


Président de la Fondation Maracouja R.D. Congo
La liberté d'abord ! Le logiciel ensuite.

Hors ligne

#4 Le 14/11/2007, à 14:31

trucutu

Re : [Résolu] Fichiers d'en-tête

En fait, dans tes sources, tu dois mettre include "gtk/gtk.h", et normalement l'outil pkg-config doit te générer les bons flags de compilation pour gcc. Donc, à  priori, il n'y a rien a changer dans les includes (d'ailleurs, je ne pense pas que l'utilisateur lambda ait les droits pour le faire, ce n'est pas un hasard...)


La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !

Hors ligne

#5 Le 14/11/2007, à 14:38

Gem

Re : [Résolu] Fichiers d'en-tête

Dans mes sources pas de problème, je peux mettre <gtk/gtk.h> mais dans les sources de ces même fichiers en-tête, il y a des includes dont les références ne correspondent pas, à  moins que je les modifie, ce qui implique que je dois être en mode administrateur. Si je les modifie, pas de problème, mais devrai-je ?

Comment utiliser "pkg-config" ? tu ne t'es pas trompé ?

Edit : Justement <gtk/gtk.h> ne marche pas parce que les fichiers sont tombés dans <gtk-2.0/gtk/gtk.h>

Dernière modification par Gem (Le 14/11/2007, à 14:39)


Président de la Fondation Maracouja R.D. Congo
La liberté d'abord ! Le logiciel ensuite.

Hors ligne

#6 Le 14/11/2007, à 14:44

trucutu

Re : [Résolu] Fichiers d'en-tête

Compile avec ca :

gcc base.c -o base `pkg-config --cflags --libs gtk+-2.0`

sources

Tu verras que tu n'a pas besoin de modifier les includes...


La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !

Hors ligne

#7 Le 14/11/2007, à 14:59

Gem

Re : [Résolu] Fichiers d'en-tête

gem@gem-desktop:~/Projects/HW/src$ gcc main.c -o base 'pkg-config --cflags --libs gtk+2.0'
gcc: pkg-config --cflags --libs gtk+2.0 : Aucun fichier ou répertoire de ce type
Dans le fichier inclus à  partir de /usr/include/gdk/gdkcairo.h:23,
          à  partir de /usr/include/gdk/gdk.h:30,
          à  partir de /usr/include/gtk/gtk.h:31,
          à  partir de main.c:4:
/usr/include/gdk/gdkcolor.h:30:19: erreur: cairo.h : Aucun fichier ou répertoire de ce type
Dans le fichier inclus à  partir de /usr/include/gdk/gdkcolor.h:31,
          à  partir de /usr/include/gdk/gdkcairo.h:23,
          à  partir de /usr/include/gdk/gdk.h:30,
          à  partir de /usr/include/gtk/gtk.h:31,
          à  partir de main.c:4:
/usr/include/gdk/gdktypes.h:32:18: erreur: glib.h : Aucun fichier ou répertoire de ce type
/usr/include/gdk/gdktypes.h:33:25: erreur: pango/pango.h : Aucun fichier ou répertoire de ce type
/usr/include/gdk/gdktypes.h:34:25: erreur: glib-object.h : Aucun fichier ou répertoire de ce type

Voici une partie visible de l'iceberg qu'est le message d'erreur à  la compilation. Peut être devrai-je installer 'pkg-config', je ne sais pas mais je vais voir. Si tu peux m'éclairer, merci.

Edit : 'pkg-config' est installé !

Dernière modification par Gem (Le 14/11/2007, à 15:02)


Président de la Fondation Maracouja R.D. Congo
La liberté d'abord ! Le logiciel ensuite.

Hors ligne

#8 Le 14/11/2007, à 15:01

trucutu

Re : [Résolu] Fichiers d'en-tête

c'est ' (touche 4) ou ` (touche altgr+7) que tu as ecrit ?? il faut la 2° ...
Sinon, tape directement la commande :

pkg-config --cflags --libs gtk+2.0

Ca renvoit quoi ?


La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !

Hors ligne

#9 Le 14/11/2007, à 15:04

Gem

Re : [Résolu] Fichiers d'en-tête

gem@gem-desktop:~/Projects/HW/src$ pkg-config --cflags --libs gtk+2.0
Package gtk+2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+2.0' found

Président de la Fondation Maracouja R.D. Congo
La liberté d'abord ! Le logiciel ensuite.

Hors ligne

#10 Le 14/11/2007, à 15:06

trucutu

Re : [Résolu] Fichiers d'en-tête

et avec gtk+-2.0 ?


La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !

Hors ligne

#11 Le 14/11/2007, à 15:11

Gem

Re : [Résolu] Fichiers d'en-tête

Paaaaaaaaaaaaaaaarfait lol lol lol lol

Merci merci merci merci merci


Président de la Fondation Maracouja R.D. Congo
La liberté d'abord ! Le logiciel ensuite.

Hors ligne

#12 Le 14/11/2007, à 15:13

trucutu

Re : [Résolu] Fichiers d'en-tête

un petit [Résolu] ? wink

Dernière modification par trucutu (Le 14/11/2007, à 15:13)


La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !

Hors ligne

#13 Le 14/11/2007, à 15:15

Gem

Re : [Résolu] Fichiers d'en-tête

Question, le problème était aussi que j'utilisais Anjuta. Y a-t-il lieu de personnaliser la commande de compilation d'Anjuta ?


Président de la Fondation Maracouja R.D. Congo
La liberté d'abord ! Le logiciel ensuite.

Hors ligne

#14 Le 14/11/2007, à 15:18

trucutu

Re : [Résolu] Fichiers d'en-tête

Arf... je n'utilise pas cet outil. Mais il doit bien avoir une option à  configurer quelque part (il y a fort à  parier que c'est du gcc en ce qui concerne la compil' ).


La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !

Hors ligne

#15 Le 14/11/2007, à 15:30

Gem

Re : [Résolu] Fichiers d'en-tête

T'inquiète pas j'ai trouvé :

Menu "Préférences" > "Compilateurs/Editeurs de liens..." > naviguer dans les onglets jusqu'à  l'onglet "Options" et dans le champs "Flags Compilateur (CFLAGS)' introduire la ligne que trucutu m'a donné `pkg-config --cflags --libs gtk+-2.0`.

Et ça marche comme dans un rêve !!!!!!!!!!!!!!!!!!

Dernière modification par Gem (Le 14/11/2007, à 15:32)


Président de la Fondation Maracouja R.D. Congo
La liberté d'abord ! Le logiciel ensuite.

Hors ligne