IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ avec C & C++ Discussion :

compilation de programme avec gtk+


Sujet :

GTK+ avec C & C++

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Points : 13
    Points
    13
    Par défaut compilation de programme avec gtk+
    j'ai installer gtk+ sur mon poste avec dev-cpp

    mon programme d'essaie est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    #include <stdlib.h>
    #include <gtk/gtk.h>
     
    int main(int argc,char **argv)
    {
        GtkWidget* p_Window;
        GtkWidget* p_Label;
    	gchar* sUtf8;
     
        gtk_init(&argc,&argv);
     
        p_Window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        gtk_window_set_title(GTK_WINDOW(p_Window), "GTK+ 2.10");
        gtk_window_set_default_size(GTK_WINDOW(p_Window), 260, 40);
    	gtk_window_set_position (GTK_WINDOW (p_Window), GTK_WIN_POS_CENTER);
    	g_signal_connect(G_OBJECT(p_Window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
     
        sUtf8 = g_locale_to_utf8("La Bibliothèque GTK+ à bien été Installée !", -1, NULL, NULL, NULL);
        p_Label=gtk_label_new(sUtf8);
        g_free(sUtf8);
        gtk_container_add(GTK_CONTAINER(p_Window), p_Label);
     
        gtk_widget_show_all(p_Window);
     
        gtk_main();
     
        return EXIT_SUCCESS;
    }
    mais lorsque je le compile il me donne l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
      [Linker error] undefined reference to `gtk_init_abi_check' 
      [Linker error] undefined reference to `gtk_window_new' 
      [Linker error] undefined reference to `gtk_window_get_type' 
      [Linker error] undefined reference to `g_type_check_instance_cast' 
      [Linker error] undefined reference to `gtk_window_set_title' 
    .....
    ....
    ....
      [Linker error] undefined reference to `gtk_main' 
      ld returned 1 exit status 
     C:\Documents and Settings\pc\Bureau\final\Makefile.win [Build Error]  [cc.exe] Error 1
    le log de la compilation est le suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    Compilateur: Default compiler
    Building Makefile: "C:\Documents and Settings\pc\Bureau\final\Makefile.win"
    Exécution de  make...
    make.exe -f "C:\Documents and Settings\pc\Bureau\final\Makefile.win" all
    gcc.exe main.o  -o "cc.exe" -L"C:/Program Files/Pack GTK+/lib"  
     
    main.o(.text+0x50):main.c: undefined reference to `gtk_init_abi_check'
    main.o(.text+0x5c):main.c: undefined reference to `gtk_window_new'
    main.o(.text+0x64):main.c: undefined reference to `gtk_window_get_type'
    main.o(.text+0x73):main.c: undefined reference to `g_type_check_instance_cast'
    main.o(.text+0x83):main.c: undefined reference to `gtk_window_set_title'
    main.o(.text+0x88):main.c: undefined reference to `gtk_window_get_type'
    main.o(.text+0x97):main.c: undefined reference to `g_type_check_instance_cast'
    main.o(.text+0xaf):main.c: undefined reference to `gtk_window_set_default_size'
    main.o(.text+0xb4):main.c: undefined reference to `gtk_window_get_type'
    main.o(.text+0xc3):main.c: undefined reference to `g_type_check_instance_cast'
    main.o(.text+0xd3):main.c: undefined reference to `gtk_window_set_position'
    main.o(.text+0xe6):main.c: undefined reference to `g_type_check_instance_cast'
    main.o(.text+0x106):main.c: undefined reference to `gtk_main_quit'
    main.o(.text+0x116):main.c: undefined reference to `g_signal_connect_data'
    main.o(.text+0x142):main.c: undefined reference to `g_locale_to_utf8'
    main.o(.text+0x150):main.c: undefined reference to `gtk_label_new'
    main.o(.text+0x15e):main.c: undefined reference to `g_free'
    main.o(.text+0x163):main.c: undefined reference to `gtk_container_get_type'
    main.o(.text+0x172):main.c: undefined reference to `g_type_check_instance_cast'
    main.o(.text+0x183):main.c: undefined reference to `gtk_container_add'
    main.o(.text+0x18e):main.c: undefined reference to `gtk_widget_show_all'
    main.o(.text+0x193):main.c: undefined reference to `gtk_main'
    collect2: ld returned 1 exit status
     
    make.exe: *** [cc.exe] Error 1
     
    Exécution terminée
    merci pour l'aide

  2. #2
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Points : 13
    Points
    13
    Par défaut l'execution de pgrme ecrit enc++ et gtk+
    voila lorsque j'execute mon programme le compilateur
    m'affiche le message suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Permission denied 
     C:\Documents and Settings\pc\Bureau\final\Makefile.win [Build Error]  [clean] Error 1
    le log de compilation est le suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Compilateur: Default compiler
    Building Makefile: "C:\Documents and Settings\pc\Bureau\final\Makefile.win"
    Exécution de  make clean
    rm -f main.o  cc.exe
     
    rm: cc.exe: Permission denied
     
    make.exe: *** [clean] Error 1
     
    Exécution terminée
    je sais pas ou il y a l'erreur vraiment pouvez m'aider
    pour resoudre le probleme

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 340
    Points : 177
    Points
    177
    Par défaut
    je n'utilise pas dev-c++ pour compiler mes prog, juste les autotools

    il faut passer les lib statiques. Pour cela, il faut que tu donnes au compilateur la valeur de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    pkg-config --libs gtk+-2.0
    Avec gcc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    gcc -o toto toto.c `pkg-config --cflags --libs gtk+-2.0`
    --cflags c'est pour dire a gcc ou chercher les headers

    Note que j'ai utilise ` (altgr 7) et non pas ' (touche 4)
    L'Opus attire les Prélats

Discussions similaires

  1. Compiler le programme avec juste un .exe
    Par guyguy333 dans le forum Débuter
    Réponses: 12
    Dernier message: 23/10/2008, 17h49
  2. Compiler un programme avec API Glut
    Par Haage dans le forum GLUT
    Réponses: 5
    Dernier message: 21/07/2007, 11h42
  3. Compiler un programme avec winapi.h
    Par mannostab dans le forum Langage
    Réponses: 2
    Dernier message: 06/10/2006, 22h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo