[gtk+]

Fermé
salafista - 3 mars 2006 à 18:39
 salafista - 3 mars 2006 à 23:23
bonjour
je voulez devlopper une petite application avec gtk+ ,mais malheuresement j'arrive pas a le compiler avec (gcc 'pkg-config --libs --cflags ' ) malgrer j'ais verifier que tous les packettages existent ....
merci a l'avance

1 réponse

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
3 mars 2006 à 19:00
Salut,

On a aucun message d'erreur, comment veux-tu qu'on t'aide? :-)

En règle général, si tu veux compiler une application pour gnome, il ya quelques librairies à installer et des fichiers d'en-têtes.

Pour compiler une appli pour gnome:
gcc machin.c -o machin `pkg-config --libs --cflags gnome`
(Tu noteras qu'il faut mettre gnome dans les arguments de pkgconfig, et prendre les guillemenst qui penchent vers la gauche.

Si tu utilise gconf dans ton application (la base de donnée de configuration de gnome), alors rajoute gconf comme ceci:
gcc machin.c -o machin `pkg-config --libs --cflags gnome,gconf`

Attention, ça ne s'applique pas pour gconf2...
Voilà, quelques généralités.
0
salut
merci votre aide etait trop apreciée .... mais voila le programme que j'ai essayé de compiler (ce n'est pas le mien c'est juste pour tester)ça ne marche toujours pas ...aucun messages d'erreur et en meme temps rien est executé

#include <stdlib.h>
#include <gtk/gtk.h>

void OnDestroy(GtkWidget *pWidget, gpointer pData);

int main(int argc,char **argv)
{
/* Declaration du widget */
GtkWidget *pWindow;

gtk_init(&argc,&argv);

/* Creation de la fenetre */
pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
/* Definition de la position */
gtk_window_set_position(GTK_WINDOW(pWindow), GTK_WIN_POS_CENTER);
/* Definition de la taille de la fenetre */
gtk_window_set_default_size(GTK_WINDOW(pWindow), 320, 200);
/* Titre de la fenetre */
gtk_window_set_title(GTK_WINDOW(pWindow), "Chapitre Fenetre");

/* Connexion du signal "destroy" */
g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(OnDestroy), NULL);
/* Affichage de la fenetre */
gtk_widget_show(pWindow);

/* Demarrage de la boucle evenementielle */
gtk_main();

return EXIT_SUCCESS;
}

void OnDestroy(GtkWidget *pWidget, gpointer pData)
{
/* Arret de la boucle evenementielle */
gtk_main_quit();
}

[maison@localhost maison]$ gcc prog.c -o prog 'gtk-config --cflags --libs`
>
selement se symbole qui apparait ">"

[maison@localhost maison]$ gcc prog.c -o prog 'gtk-config --cflags --libs gnome`
>
et toujours rien !!!!!!
et merci
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
3 mars 2006 à 21:55
Oui parce que tu te gourres dans la première guillemet.
utilises au début et à la fin de gtk-config la guillemet qui sort quand tu fais [Alt Gr] 7 en même temps:
gcc prog.c -o prog `gtk-config --cflags --libs gnome` 
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
3 mars 2006 à 22:00
Pour info, ces guillemets permettent d'exécuter une sous-commande et d'afficher la sortie de cette commande.

Par exemple:
echo "machin.c"

affiche: machin.c

Donc si tu fais:
gcc `echo machin.c` -o machin

c'est l'equivalent de:
gcc machin.c -o machin
0
salafista > kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016
3 mars 2006 à 23:23
merci et pour cette information complementaire ....
ça y est c'est bon l'execution a aboutit mais au lieu de d'utiliser 'gnome' (dont le compilateur a singaler des erreurs )j'ai utiliser gtk+-2.0
et meci becaup.
0