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

C++ Discussion :

Problème de compilation : référence non définie


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 38
    Par défaut Problème de compilation : référence non définie
    bonjour,
    mon probleme est le suivant :
    j'ai creé une classe qui permet de creer une fenetre
    voici le code
    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
     
    #ifndef _FAJOUTER_H
    #define _FAJOUTER_H
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <iostream>
    #include <gtk/gtk.h>
     
    // LA CLASSE F_AJOUTER
     
    class F_Ajouter
    {   
     
       public :
       // LES TRAITEMENTS
     
       F_Ajouter();
       ~F_Ajouter();
       void afficherFAjouter();
       void effacerFAjouter();
       void validerFAjouter();
     
       private :
     
       GtkWidget * windowAjouter; // DECLARATION DE LA FENETRE
       GtkWidget * Layout;   // DECLARATION DE LAYOUT
       GtkWidget * Label[3];  // DECLARATION DES LABELS
       GtkWidget * button[2];  // DECLARATION DES BUTTONS
       GtkWidget * entry[2]; //  DECLARATION DES ZONES DE SAISI
    };
    #endif
    j'ai ecri ma fonction main() la fonction main contient un element de menu qui permet de generer un signal :
    dont voici le code :

    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
    35
    36
    37
    38
    39
    #include "F_Ajouter.h"
    #include "article.h"
    #include "F_Modifier.h"
    #include "F_Supprimer.h"
     
    #include <stdlib.h>
    #include <iostream>
    #include <gtk/gtk.h>
     
     
     
     
    using namespace std; 
     
    void Quitter(GtkWidget * widget, gpointer data);
    void Aider(GtkWidget * widget, gpointer data);
    void Ajouter(GtkWidget * widget, gpointer data);
    void Modifier(GtkWidget *widget, gpointer data);
    void Lister(GtkWidget *widget, gpointer data);
    void Supprimer(GtkWidget *widget, gpointer data);
    void SeConnecter(GtkWidget *widget, gpointer data);
     
     
    int main(int argc, char **argv)
    {
     
            ..................   
        // $$$$$$$$$$$    sous menu Gestion Article   $$$$$$$$$$$$$//
     
        Menu=gtk_menu_new();
        MenuItem=gtk_menu_item_new_with_mnemonic(" _Ajouter ");
        gtk_menu_shell_append(GTK_MENU_SHELL(Menu),MenuItem);
        g_signal_connect(G_OBJECT(MenuItem),"activate",G_CALLBACK(Ajouter),NULL);
     
      ...................
        gtk_widget_show_all(F_Acceuil);
        gtk_main();
        return EXIT_SUCCESS;
    }
    la fonction de rappel est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    void Ajouter(GtkWidget * widget, gpointer data)
    {
         F_Ajouter  win;
        // win=new F_Ajouter();
       //  winAj.F_Ajouter();
     
    }
    il m'affiche l'erreur suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      [Linker error] undefined reference to `F_Ajouter::F_Ajouter()' 
      [Linker error] undefined reference to `F_Ajouter::~F_Ajouter()' 
      ld returned 1 exit status 
     C:\Documents and Settings\pc\Bureau\Article\Makefile.win [Build Error]  [Article.exe] Error 1
    merci de signaler la source d'erreur.??
    je suis un debutant

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Ca ressemble à un pb de C++ plus qu'autre chose... Il a l'air de se plaindre que tu n'as codé ni constructeur ni destructeur pour ta classe alors que tu les as déclarés.

  3. #3
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 38
    Par défaut
    comment je peux resoudre le probleme donc, je sais que c'est un probleme de c++ plus que celui de gtk+, le code m'apparais correcte??? mais il y a une erreur en quelque part.
    merci pour vos aides.

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 366
    Par défaut
    teuf13 vient de te donner la réponse : tu as déclaré un constructeur et un destructeur, mais tu ne les as pas défini.

  5. #5
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    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
     
    #ifndef _FAJOUTER_H
    #define _FAJOUTER_H
     
    #include <stdio.h> // HORRIBLE
    #include <stdlib.h>
    #include <iostream>
    #include <gtk/gtk.h>
     
    // LA CLASSE F_AJOUTER
     
    class F_Ajouter
    {   
          
       public :
       // LES TRAITEMENTS
                    
       F_Ajouter(); // Déclaré mais pas implémenté
       ~F_Ajouter(); // Déclaré mais pas implémenté
       void afficherFAjouter();
       void effacerFAjouter();
       void validerFAjouter();
       
       private :
              
       GtkWidget * windowAjouter; // DECLARATION DE LA FENETRE
       GtkWidget * Layout;   // DECLARATION DE LAYOUT
       GtkWidget * Label[3];  // DECLARATION DES LABELS
       GtkWidget * button[2];  // DECLARATION DES BUTTONS
       GtkWidget * entry[2]; //  DECLARATION DES ZONES DE SAISI
    };
    #endif
    sera le code qui te donnera un constructeur par défault!

  6. #6
    Membre éclairé Avatar de befalimpertinent
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2007
    Messages : 561
    Par défaut
    Vu que tu ne sembles pas avoir d'autre constructeur autre que celui par défaut je te proposes de ne pas le déclarer dans ta classe F_Ajouter.
    Le compilateur t'en fournira un prédéfini et tout fonctionnera nickel

    Idem pour le destructeur.

Discussions similaires

  1. Compilation FORTRAN : références non définies
    Par nymformaticien dans le forum Fortran
    Réponses: 2
    Dernier message: 13/10/2011, 14h57
  2. Réponses: 5
    Dernier message: 05/03/2010, 18h49
  3. Problèmes avec FPLOT -> "variables non définies"
    Par covich dans le forum MATLAB
    Réponses: 1
    Dernier message: 04/02/2010, 13h38
  4. WPF - Problème de trigger : Objet non défini
    Par azar121 dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 10/04/2009, 18h32
  5. Problème de compilation: Référence indéfinies
    Par richard_sraing dans le forum C++
    Réponses: 4
    Dernier message: 05/07/2007, 10h49

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