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

Code::Blocks Discussion :

undefined reference to 'fonction()' avec code block


Sujet :

Code::Blocks

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    69
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 69
    Par d�faut undefined reference to 'fonction()' avec code block
    Salut � tous,

    Pour un projet perso d'�lectronique, je d�veloppe une IHM PC avec l'aide de la librairie GTK+. J'ai d�j� tent� l'exp�rience dans le pass� avec succ�s.

    Aujourd'hui, la compilation �choue sit�t que mes fonctions sont �clat�es dans diff�rents fichiers header/source:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Build Message:
     
    obj\Debug\main.o: In function `main':
    Y:/Documents/Dev/CodeBlocks/Test/TestHeader/main.cpp:42: undefined reference to `onDestroyWindow(_GtkWidget*, void*)'
    Y:/Documents/Dev/CodeBlocks/Test/TestHeader/main.cpp:43: undefined reference to `onDeleteEventWindow(_GtkWidget*, void*)'
    Y:/Documents/Dev/CodeBlocks/Test/TestHeader/main.cpp:48: undefined reference to `onClickedQuit(_GtkWidget*, void*)'
    Y:/Documents/Dev/CodeBlocks/Test/TestHeader/main.cpp:51: undefined reference to `onClickedConnect(_GtkWidget*, void*)'
    Y:/Documents/Dev/CodeBlocks/Test/TestHeader/main.cpp:54: undefined reference to `onClickedLoad(_GtkWidget*, void*)'
    Y:/Documents/Dev/CodeBlocks/Test/TestHeader/main.cpp:57: undefined reference to `onClickedSave(_GtkWidget*, void*)'
    collect2.exe: error: ld returned 1 exit status
    Process terminated with status 1 (0 minutes, 1 seconds)
    6 errors, 0 warnings (0 minutes, 1 seconds)
    Par contre, si je regroupe tout dans mon main.c aucun probl�me, je peux executer et debugger le programme sans probl�me...

    Je ne vois pas ce qu'il me manque, surement un oubli au niveau de la config de l'IDE, mais je s�che compl�tement. Voici mon code:

    main.c:
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    #include <stdlib.h>
    #include <gtk/gtk.h>
     
    #include "Test.h"
     
     
    int main(int argc,char **argv)
    {
        /*
         ***************************
         * Declaration des WidGets *
         ***************************
         */
        GtkWidget *pMainWindow = NULL;
     
        GtkWidget *pQuitBtn = NULL;
        GtkWidget *pConnectBtn = NULL;
        GtkWidget *pLoadBtn = NULL;
        GtkWidget *pSaveBtn = NULL;
     
        GtkWidget *pTable = NULL;
     
     
        // GTK+ Initialisation
        gtk_init(&argc,&argv);
     
        // Build main window
        pMainWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        gtk_window_set_position(GTK_WINDOW(pMainWindow), GTK_WIN_POS_CENTER);
        gtk_window_set_title(GTK_WINDOW(pMainWindow), "MyApplication");
        gtk_window_set_default_size(GTK_WINDOW(pMainWindow), 640, 480);
        gtk_container_set_border_width(GTK_CONTAINER(pMainWindow),20);
     
        g_signal_connect(G_OBJECT(pMainWindow), "destroy", G_CALLBACK(onDestroyWindow), NULL);          // "destroy" est émis lorsque l'objet est détruis
        g_signal_connect(G_OBJECT(pMainWindow), "delete-event", G_CALLBACK(onDeleteEventWindow), NULL); // "delete_event" est émis quand l'utilisateur veut détruire un objet
     
     
        // Build Buttons
        pQuitBtn = gtk_button_new_from_stock(GTK_STOCK_QUIT);
        g_signal_connect(G_OBJECT(pQuitBtn), "clicked", G_CALLBACK(onClickedQuit), NULL);
     
        pConnectBtn = gtk_button_new_with_mnemonic("_Connect");
        g_signal_connect(G_OBJECT(pConnectBtn), "clicked", G_CALLBACK(onClickedConnect), NULL);
     
        pLoadBtn = gtk_button_new_with_mnemonic("_Load File");
        g_signal_connect(G_OBJECT(pLoadBtn), "clicked", G_CALLBACK(onClickedLoad), NULL);
     
        pSaveBtn = gtk_button_new_with_mnemonic("_Save File");
        g_signal_connect(G_OBJECT(pSaveBtn), "clicked", G_CALLBACK(onClickedSave), NULL);
     
        pTable = gtk_table_new(6, 2, TRUE);
        gtk_container_add(GTK_CONTAINER(pMainWindow), pTable);
        gtk_table_attach(GTK_TABLE(pTable), pConnectBtn,     0, 1, 1, 2, GTK_EXPAND, GTK_EXPAND, 0, 0);
        gtk_table_attach(GTK_TABLE(pTable), pQuitBtn,        1, 2, 1, 2, GTK_EXPAND, GTK_EXPAND, 0, 0);
        gtk_table_attach(GTK_TABLE(pTable), pLoadBtn,        0, 1, 3, 4, GTK_EXPAND, GTK_EXPAND, 0, 0);
        gtk_table_attach(GTK_TABLE(pTable), pSaveBtn,        1, 2, 3, 4, GTK_EXPAND, GTK_EXPAND, 0, 0);
     
     
        // Display and event loop
        gtk_widget_show_all(pMainWindow);
     
        gtk_main();
     
        // exit
        gtk_exit(EXIT_SUCCESS);
        return EXIT_SUCCESS;
    }
    Test.h
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #ifndef TEST_H_INCLUDED
    #define TEST_H_INCLUDED
     
    void onDestroyWindow(GtkWidget *pWidget, gpointer data);
    gboolean onDeleteEventWindow(GtkWidget *pWidget, gpointer data);
    void onClickedQuit(GtkWidget *pWidget, gpointer data);
    void onClickedConnect(GtkWidget *pWidget, gpointer data);
    void onClickedLoad(GtkWidget *pWidget, gpointer data);
    void onClickedSave(GtkWidget *pWidget, gpointer data);
     
    #endif // TEST_H_INCLUDED
    Test.c
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     
    #include <stdlib.h>
    #include <gtk/gtk.h>
     
    void onDestroyWindow(GtkWidget* pWidget, gpointer data)
    {
        gtk_main_quit();
    }
     
    gboolean onDeleteEventWindow(GtkWidget* pWidget, gpointer data)
    {
        GtkWidget *pDialog = NULL;
        gboolean ContinueFlag = TRUE;
     
     
        pDialog = gtk_message_dialog_new(GTK_WINDOW(pWidget),
                                         GTK_DIALOG_MODAL,
                                         GTK_MESSAGE_QUESTION,
                                         GTK_BUTTONS_YES_NO,
                                         "Are you sure you want to quit?");
     
        switch(gtk_dialog_run(GTK_DIALOG((GtkWidget*)pDialog)))
        {
            case GTK_RESPONSE_YES:
            {
                gtk_main_quit();
                ContinueFlag = FALSE;
                break;
            }
     
            case GTK_RESPONSE_NO:
            {
                gtk_widget_destroy(pDialog);
                break;
            }
        }
     
        return ContinueFlag;
    }
     
    void onClickedQuit(GtkWidget *pWidget, gpointer data)
    {
        GtkWidget *pQuitBox = NULL;
     
     
        pQuitBox = gtk_message_dialog_new(NULL, //GTK_WINDOW(pWidget),
                                         GTK_DIALOG_MODAL,
                                         GTK_MESSAGE_QUESTION,
                                         GTK_BUTTONS_YES_NO,
                                         "Are you sure you want to quit?");
     
        //gtk_window_set_title(GTK_WINDOW(pQuitBox), "Question");
        //gtk_window_set_position(GTK_WINDOW(pQuitBox), GTK_WIN_POS_MOUSE);
     
        switch(gtk_dialog_run(GTK_DIALOG(pQuitBox)))
        {
            case GTK_RESPONSE_YES:
            {
                gtk_main_quit();
                break;
            }
     
            case GTK_RESPONSE_NO:
            case GTK_RESPONSE_NONE:
            default:
            {
                gtk_widget_destroy(pQuitBox);
                break;
            }
        }
    }
     
    void onClickedConnect(GtkWidget* pWidget, gpointer data)
    {
        printf("CONNECT button pushed\n");
    }
     
    void onClickedLoad(GtkWidget* pWidget, gpointer data)
    {
        printf("LOAD button pushed\n");
    }
     
    void onClickedSave(GtkWidget* pWidget, gpointer data)
    {
        printf("SAVE button pushed\n");
    }

    Merci d'avance pour votre aide.

  2. #2
    Membre Expert

    Avatar de germinolegrand
    Homme Profil pro
    D�veloppeur de jeux vid�o
    Inscrit en
    Octobre 2010
    Messages
    738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : D�veloppeur de jeux vid�o
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2010
    Messages : 738
    Par d�faut
    Bonjour !
    As-tu ajout� le fichier test.c au projet ?

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    69
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 69
    Par d�faut
    Oui bien sur, ils apparaissent tous dans l'arbre du workspace.

    Mais le probl�me vient bien de ce fichier, car j'ai test� la manip' suivante:

    Si je place les prototypes des fonctions dans "Test.h", que j'ajoute #include "Test.h" en t�te du fichier main.c et que je d�clare le corps des fonctions dans le main.c, apr�s la fonction main() => �a fonctionne

    Mais si t�t que je d�clare le corps des fonctions dans le Test.c, je me retrouve avec les erreurs pr�c�dentes

  4. #4
    Membre Expert

    Avatar de germinolegrand
    Homme Profil pro
    D�veloppeur de jeux vid�o
    Inscrit en
    Octobre 2010
    Messages
    738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : D�veloppeur de jeux vid�o
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2010
    Messages : 738
    Par d�faut
    mmh...
    En faisant clic droit sur le fichier, onglet build, tout est bien coch� ?

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    69
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 69
    Par d�faut
    Citation Envoy� par germinolegrand Voir le message
    mmh...
    En faisant clic droit sur le fichier, onglet build, tout est bien coch� ?
    Oui tout est bien coch�.

    Je viens de trouver mon erreur.

    En fait je travaille sur un MAC, sous Parallel pour avoir l'environnement Windows. Code::Blocks est install� sous windows car mon application est destin�e � un PC sous windows. Donc dans l'environnement Windows (Parallel), j'ai install� la librairie GTK+, sur le hdd c: , hors mon r�pertoire de travail �tait sur le disque y: (Mac)...

    J'ai d�plac� mon r�pertoire de travail sur le c:, et d�sormais tout fonctionne

    Il faut d�sormais que je trouve, ou je peux indiquer dans code::blocks, les r�pertoire ou il doit faire ses recherches de fichiers lors de la compile/link...

    Merci pour ton aide

  6. #6
    Membre Expert

    Avatar de germinolegrand
    Homme Profil pro
    D�veloppeur de jeux vid�o
    Inscrit en
    Octobre 2010
    Messages
    738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : D�veloppeur de jeux vid�o
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2010
    Messages : 738
    Par d�faut
    Tr�s simple (une fois qu'on le sait) : Build Options, choix de la target, Search directories, Compiler ou Linker.

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    69
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 69
    Par d�faut
    Merci � toi pour ton aide

  8. #8
    Nouveau membre du Club
    Inscrit en
    D�cembre 2009
    Messages
    5
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2009
    Messages : 5
    Par d�faut
    Bonsoir
    j'avais le ^m prob et grace � vous Ms germinolegrand vous m'avez suve
    je veux juste vous remercie

  9. #9
    Invit� de passage
    Femme Profil pro
    Ing�nieur R&D
    Inscrit en
    Janvier 2019
    Messages
    1
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 29
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activit� : Ing�nieur R&D
    Secteur : Sant�

    Informations forums :
    Inscription : Janvier 2019
    Messages : 1
    Par d�faut
    Bonjour, je viens de lire vos discussions et il se trouve que je rencontre le m�me probl�me, c'est � dire que j'essaye de d�velopper une petite interface graphique avec GTK+ (sur codeblocks et sous windows), qui s'affiche bien lorsque je d�finie et d�clare toutes mes variables et fonctions dans le m�me fichier main.cpp, mais d�s que je le fais dans des fichiers header/ source, j'ai autant d'erreurs que de variables, qui me disent "undefined reference".

    J'ai suivi ce tuto : https://pub.phyks.me/sdz/sdz/creez-u...-avec-gtk.html � la lettre afin de t�l�charger GTK+, configurer codeblocks et enfin configurer mon projet. Je ne sais pas ce que j'ai loup�, et si cette erreur peut s'expliquer par une autre raison que celle d'une mauvaise configuration... Si ce n'est pas le cas, connaissez-vous un ou plusieurs autres tutoriels fiables pour que je refasse tout depuis le d�but?
    Je m'excuse si mes questions vous semble b�tes, je d�bute ^^"

    Le contenue de mon fichier main.cpp 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
    #include <stdlib.h>
    #include <gtk/gtk.h>
    #include "IHM.h"
     
    int main(int argc, char **argv)
    {
     
        /* Initialisation de GTK+ */
     
        gtk_init(&argc, &argv);
        initialize();
     
        /* Signal connection */
     
        g_signal_connect(G_OBJECT(MainWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL);
     
        /* Display */
        gtk_widget_show_all(MainWindow);
     
        gtk_main();
     
        return EXIT_SUCCESS;
    }
    Celui de mon fichier IHM.h:

    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
    #ifndef IHM_H_INCLUDED
    #define IHM_H_INCLUDED
    #include <gtk/gtk.h>
     
    /* FUNCTIONS*/
     
        extern void initialize();
     
     
    /* VARIABLES */
     
        extern GtkWidget* MainWindow;
        extern GtkWidget* MainTable;
        extern GtkWidget* label_rot;
        extern GtkWidget* label_trans;
        extern GtkWidget* label_speed_rot;
        extern GtkWidget* label_speed_trans;
        extern GtkWidget* label_stroke_trans;
        extern GtkWidget* label_stroke_rot;
        extern GtkWidget* label_diameter;
        extern GtkWidget* entry_speed_trans;
        extern GtkWidget* entry_speed_rot;
        extern GtkWidget* entry_stroke_trans;
        extern GtkWidget* entry_stroke_rot;
        extern GtkWidget* entry_diameter;
        extern GtkWidget* button_stop;
        extern GtkWidget* button_go;
        extern GtkWidget* button_calibrate;
        extern GtkWidget* button_reference;
        extern GtkWidget* button_clamp;
        extern GtkWidget* button_unclamp;
     
     
    #endif // IHM_H_INCLUDED
    et celui du IHM.cpp:

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    #include "IHM.h"
     
    /* FUNCTIONS */
     
    void initialize()
    {
        GtkWidget* MainWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
     
        /* Title and size of the window*/
        gtk_window_set_default_size(GTK_WINDOW(MainWindow), 800 ,500);
        gtk_window_set_title(GTK_WINDOW(MainWindow), "Control console");
     
        /* Creation of a table to place the different Widgets*/
        MainTable=gtk_table_new(12, 8, TRUE);
        gtk_container_add(GTK_CONTAINER(MainWindow), GTK_WIDGET(MainTable));
     
        /* Entry */
        entry_speed_trans= gtk_entry_new();
        gtk_table_attach(GTK_TABLE(MainTable), GTK_WIDGET(entry_speed_trans), 1, 2, 3, 4, GTK_EXPAND , GTK_EXPAND, 0, 0);
     
        entry_speed_rot= gtk_entry_new();
        gtk_table_attach(GTK_TABLE(MainTable), GTK_WIDGET(entry_speed_rot), 6, 7, 3, 4, GTK_EXPAND, GTK_EXPAND, 0, 0);
     
        entry_stroke_trans= gtk_entry_new();
        gtk_table_attach(GTK_TABLE(MainTable), GTK_WIDGET(entry_stroke_trans), 1, 2, 6, 7, GTK_EXPAND, GTK_EXPAND, 0, 0);
     
        entry_stroke_rot= gtk_entry_new();
        gtk_table_attach(GTK_TABLE(MainTable), GTK_WIDGET(entry_stroke_rot), 6, 7, 6, 7, GTK_EXPAND, GTK_EXPAND, 0, 0);
     
        entry_diameter= gtk_entry_new();
        gtk_table_attach(GTK_TABLE(MainTable), GTK_WIDGET(entry_diameter), 3, 5, 8, 9, GTK_EXPAND, GTK_EXPAND, 0, 0);
     
        /* Label */
        label_trans = gtk_label_new("TRANSLATION");
        gtk_table_attach(GTK_TABLE(MainTable), GTK_WIDGET(label_trans), 0, 3, 0, 1, (GTK_EXPAND), (GTK_EXPAND), 0, 0);
     
        label_rot=gtk_label_new("ROTATION");
        gtk_table_attach(GTK_TABLE(MainTable), GTK_WIDGET(label_rot), 5, 8, 0, 1, GTK_EXPAND, GTK_EXPAND, 0, 0);
     
        label_speed_trans=gtk_label_new("Speed (mm/s) : ");
        gtk_table_attach(GTK_TABLE(MainTable), GTK_WIDGET(label_speed_trans), 1, 2, 2, 3, GTK_EXPAND, GTK_EXPAND , 0, 0);
        label_speed_rot=gtk_label_new("Speed (mm/s) : ");
        gtk_table_attach(GTK_TABLE(MainTable), GTK_WIDGET(label_speed_rot), 6, 7, 2, 3, GTK_EXPAND, GTK_EXPAND, 0, 0);
     
        label_stroke_trans=gtk_label_new("Target position (mm) : ");
        gtk_table_attach(GTK_TABLE(MainTable), GTK_WIDGET(label_stroke_trans), 1, 2, 5, 6, GTK_EXPAND, GTK_EXPAND, 0, 0);
        label_stroke_rot=gtk_label_new("Target position (mm) : ");
        gtk_table_attach(GTK_TABLE(MainTable), GTK_WIDGET(label_stroke_rot), 6, 7, 5, 6, GTK_EXPAND, GTK_EXPAND, 0, 0);
     
        label_diameter = gtk_label_new("Catheter diameter (mm) (Press ENTER after writing the value):");
        gtk_table_attach(GTK_TABLE(MainTable), GTK_WIDGET(label_diameter), 3, 5, 7, 8, GTK_EXPAND, GTK_EXPAND, 0, 0);
     
        /* Buttons */
        button_go= gtk_button_new_with_label("GO");
        gtk_table_attach(GTK_TABLE(MainTable), GTK_WIDGET(button_go), 1, 3, 10, 11, GTK_EXPAND, GTK_EXPAND, 0, 0);
     
        button_stop= gtk_toggle_button_new_with_label("STOP");
        gtk_table_attach(GTK_TABLE(MainTable), GTK_WIDGET(button_stop), 5, 7, 10, 11, GTK_EXPAND, GTK_EXPAND, 0, 0);
     
        button_calibrate= gtk_button_new_with_label("CALIBRATING (do it at the FIRST start)");
        gtk_table_attach(GTK_TABLE(MainTable), GTK_WIDGET(button_calibrate), 3, 5, 5, 6, GTK_EXPAND, GTK_EXPAND, 0, 0);
     
        button_reference= gtk_button_new_with_label("REFERENCING (do it BEFORE inserting the catheter)");
        gtk_table_attach(GTK_TABLE(MainTable), GTK_WIDGET(button_reference), 3, 5, 4, 5, GTK_EXPAND, GTK_EXPAND, 0, 0);
     
        button_clamp= gtk_button_new_with_label("CLAMP");
        gtk_table_attach(GTK_TABLE(MainTable), GTK_WIDGET(button_clamp), 3, 5, 1, 2, GTK_EXPAND, GTK_EXPAND, 0, 0);
     
        button_unclamp= gtk_button_new_with_label("UNCLAMP");
        gtk_table_attach(GTK_TABLE(MainTable), GTK_WIDGET(button_unclamp), 3, 5, 2, 3, GTK_EXPAND, GTK_EXPAND, 0, 0);
    }

    J'ai bien rajout� mes fichier IHM.h et IHM.cpp � mon projet, tout est bien coch� pour les fichiers dans l'onglet build..
    Je vous remercie par avance, et esp�re ne pas vous faire perdre votre temps...

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. "undefined reference to" fonction sous code::blocks
    Par Lerrak dans le forum Langage
    R�ponses: 4
    Dernier message: 10/06/2014, 14h35
  2. Undefined reference avec code blocks
    Par Airlink dans le forum D�buter
    R�ponses: 1
    Dernier message: 14/06/2008, 19h40
  3. R�ponses: 2
    Dernier message: 23/04/2007, 22h37
  4. [kjAPI] Compilation avec Code::Blocks
    Par ThomasCh dans le forum Moteurs 3D
    R�ponses: 5
    Dernier message: 17/10/2006, 09h01
  5. [d�butant]impossible d'�xecuter avec Code::blocks!
    Par Antigonos Ier Gonatas dans le forum Code::Blocks
    R�ponses: 6
    Dernier message: 31/05/2006, 19h53

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