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 d'édition des liens dans un makefile


Sujet :

C

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Problème d'édition des liens dans un makefile
    Bonjour,

    Je débute en C et j'ai un soucis d'éditions des liens au moment de la génération du binaire. J'obtiens l'erreur suivante:
    "undefined reference to".

    Pourtant il se trouve que les librairies statiques (*.a) ont l'air de bien être ajouté au niveau du makefile...

    Voici les traces de log lorsque de l'exécution de la commande make:
    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
     
    [fedora@localhost main]$ make
    gcc -o main.o -c main.c -W -Wall -Wno-unused -I ../evt -I ../display -I ../e2gdi -I ../evt -I ../tvml -I ../e2evt -I ../e2tvui	    
    main.c: In function 'main':
    main.c:14:14: warning: unused parameter 'argc' [-Wunused-parameter]
     int main(int argc, char **argv)
                  ^
    main.c:14:27: warning: unused parameter 'argv' [-Wunused-parameter]
     int main(int argc, char **argv)
                               ^
    gcc -MM -W -Wall -Wno-unused -I ../evt -I ../display -I ../e2gdi -I ../evt -I ../tvml -I ../e2evt -I ../e2tvui	     main.c > main.d
    gcc -o tv main.o -L. -le2tvui -le2evt -ltvml -ldisplay -le2gdi -levt 
    main.o: In function `main':
    main.c:(.text+0x1f): undefined reference to `initTvui'
    collect2: error: ld returned 1 exit status
    make: *** [tv] Error 1
    [fedora@localhost main]$

    Voici le contenu de mon makefile:
    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
     
    EXEC=tv
     
    INCLUDES  = \
    		-I ../evt \
    	    -I ../display \
    	    -I ../e2gdi \
    	    -I ../evt \
    	    -I ../tvml \
    	    -I ../e2evt \
    	    -I ../e2tvui
     
    CFLAGS = -W -Wall -Wno-unused $(INCLUDES)	    
     
    all: $(EXEC)
     
    $(EXEC): main.o
    	$(CC) -o $(EXEC) main.o -L. -le2tvui -le2evt -ltvml -ldisplay -le2gdi -levt 
    	#-lzunexit
    	#$(CC) -o $(EXEC) main.o ./libe2evt.a ./libe2tvui.a ./libtvml.a ./libdisplay.a ./libe2gdi.a ./libevt.a
     
    %.o: %.c
    	$(CC) -o $@ -c $< $(CFLAGS)
    	$(CC) -MM $(CFLAGS) $*.c > $*.d
     
    clean:
    	rm -fr *.o *.d  
    	rm -fr $(EXEC)
    Les librairies requises sont: "libe2tvui.a", "libe2evt.a", 'libtvml.a", "libdisplay.a", 'libe2gdi.a" et "libevt.a". Ces fichiers se trouvent tous dans le répertoire courant / de compilation.

    L'ajout des librairies statique pour l'édition des liens est elle correctement configurée dans le makefile?

    En vous remerciant pour votre aide,

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 482
    Points : 13 680
    Points
    13 680
    Billets dans le blog
    1
    Par défaut
    Les *.a sont dans . ? Pourquoi ne pas rajouter ce chemin avec -I mais plutôt ../xxxx ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Merci pour votre réponse.

    Effectivement les *.a sont bien dans le répertoire courant . (je les ai copié).
    Pour les includes ils sont bien dans un répertoire parent (../evt -I ../display -I ../e2gdi -I ../evt -I ../tvml -I ../e2evt -I ../e2tvui).

    La génération du .o marche. Je rencontre uniquement un problème lors de l'édition des liens.

    En vous remerciant par avance pour votre aide.

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 482
    Points : 13 680
    Points
    13 680
    Billets dans le blog
    1
    Par défaut
    Vraiment désolé, j'ai raconté n'importe quoi car j'ai confondu -I et -L....

    Il ne manque que le symbole "initTvui" ou nous as-tu donné seulement un extrait du message d'erreur ? Dans le cas 1, pourrais-tu essayer de regarder la table des symboles de tes fichiers *.a pour vérifier qu'ils contiennent bien ce symbole (readelf -s *.a si je ne dis pas de bêtise cette fois).

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci pour votre réponse.

    Voici le résultat de la commande sur la dépendance statique qui pose problème:

    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
     
    [fedora@localhost main]$ readelf -s libe2tvui.a 
     
    File: libe2tvui.a(e2tvui.o)
     
    Symbol table '.symtab' contains 21 entries:
       Num:    Value          Size Type    Bind   Vis      Ndx Name
         0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND 
         1: 0000000000000000     0 SECTION LOCAL  DEFAULT    1 
         2: 0000000000000000     0 SECTION LOCAL  DEFAULT    3 
         3: 0000000000000000     0 SECTION LOCAL  DEFAULT    6 
         4: 0000000000000000     8 OBJECT  LOCAL  DEFAULT    3 _ZL11pLibDirName
         5: 0000000000000008     8 OBJECT  LOCAL  DEFAULT    3 _ZL11pVarDirName
         6: 0000000000000000     0 SECTION LOCAL  DEFAULT    5 
         7: 0000000000000000     0 SECTION LOCAL  DEFAULT    7 
         8: 0000000000000000     0 SECTION LOCAL  DEFAULT    8 
         9: 0000000000000000     0 SECTION LOCAL  DEFAULT    9 
        10: 0000000000000000    71 FUNC    GLOBAL DEFAULT    1 _Z8initTvuiv
        11: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND puts
        12: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND setShellKeys
        13: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND initGdi
        14: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND _Z11initDisplayPKc
        15: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND startAppMgr
        16: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND unactivateTvui
        17: 0000000000000047    31 FUNC    GLOBAL DEFAULT    1 _Z8exitTvuiv
        18: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND stopAppMgr
        19: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND exitGdi
        20: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND _Z11exitDisplayv
    [fedora@localhost main]$
    J'observe que mes noms de méthodes sont préfixés par des symbole bizarre dans cette table. Par exemple la méthode "initTvui" que j'appelle est préfixé par la chaine "_Z8" (_Z8initTvuiv) et suffixé par 'v'. Je suppose que ce n'est pas normale et que c'est cela qui pose problème (?).

    En vous remerciant,

  6. #6
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 482
    Points : 13 680
    Points
    13 680
    Billets dans le blog
    1
    Par défaut
    C'est le seul symbole que ld ne trouve pas ou y en a t-il d'autres ?

    Si cas 1, essaye d'appeler directement le bon symbole. Pour cela, il te faut le définir avec une déclaration, comme ceci mais en adaptant le proto :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extern void _Z8initTvuiv(void);
    Tu appelles cette fonction à la place de initTvui pour voir.

    Si cas 2, voir avec quelqu'un qui s'y connait plus que moi en makefile pour vérifier d'abord s'il n'y a pas une bêtise ^^ Ensuite, faire le même genre de manipulations avec readelf pour voir pourquoi ça déconne, si tous les fichiers .a ont le même problème, si ce sont tous les symboles ou seulement certains au sein d'un même .a, etc.

  7. #7
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci pour votre retour rapide.

    C'est le cas numéro 2. En effet si dans le module de la librairie static qui a un problème de référence, je cherche à générer un exécutable et non plus une librairie statique j'ai la stack d'erreurs suivantes (je précise que la librairie statique libe2tvui.a a des dépendances sur d'autre librairies statique):

    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
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
     
    (.text+0x20): référence indéfinie vers « main »
    e2tvui.o: dans la fonction « initTvui() »:
    e2tvui.cpp:(.text+0x37): référence indéfinie vers « initDisplay(char const*) »
    e2tvui.o: dans la fonction « exitTvui() »:
    e2tvui.cpp:(.text+0x60): référence indéfinie vers « exitDisplay() »
    /usr/local/lib/libe2gdi.a(e2gdi.o): dans la fonction « E2Gdi::~E2Gdi() »:
    (.text+0x3e): référence indéfinie vers « operator delete(void*) »
    /usr/local/lib/libe2gdi.a(e2gdi.o): dans la fonction « E2Gdi::~E2Gdi() »:
    (.text+0x64): référence indéfinie vers « operator delete(void*) »
    /usr/local/lib/libe2gdi.a(e2gdi.o): dans la fonction « initGdi »:
    (.text+0x346): référence indéfinie vers « std::string::assign(char const*) »
    /usr/local/lib/libe2gdi.a(e2gdi.o): dans la fonction « initGdi »:
    (.text+0x357): référence indéfinie vers « std::string::assign(char const*) »
    /usr/local/lib/libe2gdi.a(e2gdi.o): dans la fonction « initGdi »:
    (.text+0x361): référence indéfinie vers « operator new(unsigned long) »
    /usr/local/lib/libe2gdi.a(e2gdi.o): dans la fonction « initGdi »:
    (.text+0x384): référence indéfinie vers « std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) »
    /usr/local/lib/libe2gdi.a(e2gdi.o): dans la fonction « initGdi »:
    (.text+0x395): référence indéfinie vers « std::string::operator+=(char const*) »
    /usr/local/lib/libe2gdi.a(e2gdi.o): dans la fonction « initGdi »:
    (.text+0x3a6): référence indéfinie vers « std::string::operator=(std::string const&) »
    /usr/local/lib/libe2gdi.a(e2gdi.o): dans la fonction « initGdi »:
    (.text+0x3b7): référence indéfinie vers « std::string::operator+=(char const*) »
    /usr/local/lib/libe2gdi.a(e2gdi.o): dans la fonction « initGdi »:
    (.text+0x3c3): référence indéfinie vers « std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() »
    /usr/local/lib/libe2gdi.a(e2gdi.o): dans la fonction « initGdi »:
    (.text+0x3d4): référence indéfinie vers « std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() »
    /usr/local/lib/libe2gdi.a(e2gdi.o): dans la fonction « __static_initialization_and_destruction_0(int, int) »:
    (.text+0x43e): référence indéfinie vers « std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string() »
    /usr/local/lib/libe2gdi.a(e2gdi.o): dans la fonction « __static_initialization_and_destruction_0(int, int) »:
    (.text+0x44d): référence indéfinie vers « std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() »
    /usr/local/lib/libe2gdi.a(e2gdi.o): dans la fonction « __static_initialization_and_destruction_0(int, int) »:
    (.text+0x45c): référence indéfinie vers « std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string() »
    /usr/local/lib/libe2gdi.a(e2gdi.o): dans la fonction « __static_initialization_and_destruction_0(int, int) »:
    (.text+0x46b): référence indéfinie vers « std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() »
    /usr/local/lib/libe2gdi.a(e2gdi.o):(.rodata._ZTI5E2Gdi[_ZTI5E2Gdi]+0x0): référence indéfinie vers « vtable for __cxxabiv1::__class_type_info »
    /usr/local/lib/libe2gdi.a(e2gdi.o):(.eh_frame+0x217): référence indéfinie vers « __gxx_personality_v0 »
    /usr/local/lib/libevt.a(appmgr.o): dans la fonction « manageAppEvts »:
    (.text+0xa4): référence indéfinie vers « pthread_sigmask »
    /usr/local/lib/libevt.a(appmgr.o): dans la fonction « startAppMgr »:
    (.text+0x12b): référence indéfinie vers « pthread_sigmask »
    /usr/local/lib/libevt.a(appmgr.o): dans la fonction « startAppMgr »:
    (.text+0x147): référence indéfinie vers « pthread_create »
    /usr/local/lib/libevt.a(appmgr.o): dans la fonction « stopAppMgr »:
    (.text+0x16f): référence indéfinie vers « pthread_kill »
    /usr/local/lib/libevt.a(appmgr.o): dans la fonction « stopAppMgr »:
    (.text+0x186): référence indéfinie vers « pthread_join »
    /usr/local/lib/libevt.a(evt.o): dans la fonction « loadRun »:
    (.text+0x49c): référence indéfinie vers « loadPage »
    /usr/local/lib/libevt.a(evt.o): dans la fonction « unloadRun »:
    (.text+0x4ba): référence indéfinie vers « unloadPage »
    /usr/local/lib/libevt.a(evt.o): dans la fonction « displayRun »:
    (.text+0x4ee): référence indéfinie vers « displayObject »
    /usr/local/lib/libevt.a(evt.o): dans la fonction « setvisibleRun »:
    (.text+0x52a): référence indéfinie vers « setVisible »
    /usr/local/lib/libevt.a(evt.o): dans la fonction « setVarRun »:
    (.text+0x55e): référence indéfinie vers « setVar »
    /usr/local/lib/libevt.a(evt.o): dans la fonction « unsetVarRun »:
    (.text+0x587): référence indéfinie vers « unsetVar »
    /usr/local/lib/libevt.a(evt.o): dans la fonction « selectRun »:
    (.text+0x5c3): référence indéfinie vers « selectObject »
    /usr/local/lib/libevt.a(evt.o): dans la fonction « setFocusRun »:
    (.text+0x5fc): référence indéfinie vers « setFocusDisplay »
    /usr/local/lib/libevt.a(evt.o): dans la fonction « selectItemRun »:
    (.text+0x671): référence indéfinie vers « selectItem »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kRed »:
    (.text+0xe): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kRed »:
    (.text+0x15): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kGreen »:
    (.text+0x3e): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kGreen »:
    (.text+0x45): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kYellow »:
    (.text+0x6e): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kYellow »:
    (.text+0x75): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kBlue »:
    (.text+0x9e): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kBlue »:
    (.text+0xa5): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « k0 »:
    (.text+0xce): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « k0 »:
    (.text+0xd5): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « k1 »:
    (.text+0xfe): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « k1 »:
    (.text+0x105): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « k2 »:
    (.text+0x12e): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « k2 »:
    (.text+0x135): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « k3 »:
    (.text+0x15e): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « k3 »:
    (.text+0x165): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « k4 »:
    (.text+0x18e): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « k4 »:
    (.text+0x195): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « k5 »:
    (.text+0x1be): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « k5 »:
    (.text+0x1c5): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « k6 »:
    (.text+0x1ee): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « k6 »:
    (.text+0x1f5): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « k7 »:
    (.text+0x21e): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « k7 »:
    (.text+0x225): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « k8 »:
    (.text+0x24e): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « k8 »:
    (.text+0x255): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « k9 »:
    (.text+0x27e): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « k9 »:
    (.text+0x285): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kUp »:
    (.text+0x2ae): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kUp »:
    (.text+0x2b5): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kUp »:
    (.text+0x2c5): référence indéfinie vers « getNeighbour »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kUp »:
    (.text+0x2d7): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kUp »:
    (.text+0x2e6): référence indéfinie vers « setFocus »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kUp »:
    (.text+0x2ed): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kUp »:
    (.text+0x2f4): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kUp »:
    (.text+0x30c): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kUp »:
    (.text+0x313): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kDown »:
    (.text+0x33c): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kDown »:
    (.text+0x343): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kDown »:
    (.text+0x353): référence indéfinie vers « getNeighbour »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kDown »:
    (.text+0x365): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kDown »:
    (.text+0x374): référence indéfinie vers « setFocus »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kDown »:
    (.text+0x37b): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kDown »:
    (.text+0x382): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kDown »:
    (.text+0x39a): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kDown »:
    (.text+0x3a1): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kLeft »:
    (.text+0x3ca): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kLeft »:
    (.text+0x3d1): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kLeft »:
    (.text+0x3e1): référence indéfinie vers « getNeighbour »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kLeft »:
    (.text+0x3f3): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kLeft »:
    (.text+0x402): référence indéfinie vers « setFocus »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kLeft »:
    (.text+0x409): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kLeft »:
    (.text+0x410): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kLeft »:
    (.text+0x428): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kLeft »:
    (.text+0x42f): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kRight »:
    (.text+0x458): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kRight »:
    (.text+0x45f): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kRight »:
    (.text+0x46f): référence indéfinie vers « getNeighbour »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kRight »:
    (.text+0x481): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kRight »:
    (.text+0x490): référence indéfinie vers « setFocus »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kRight »:
    (.text+0x497): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kRight »:
    (.text+0x49e): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kRight »:
    (.text+0x4b6): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kRight »:
    (.text+0x4bd): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kOk »:
    (.text+0x4e6): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kOk »:
    (.text+0x4ed): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kBack »:
    (.text+0x516): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kBack »:
    (.text+0x51d): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kExit »:
    (.text+0x550): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « kExit »:
    (.text+0x557): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « activateShell »:
    (.text+0x579): référence indéfinie vers « pFocusId »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « activateShell »:
    (.text+0x580): référence indéfinie vers « pFocusSource »
    /usr/local/lib/libevt.a(tvui.o): dans la fonction « exitShell »:
    (.text+0x754): référence indéfinie vers « mainVideo »
    collect2: erreur: ld a retourné 1 code d'état d'exécution
    Cela me dérange de devoir faire des adaptations de code suite à un mauvais mapping de symbole dans les .a. J'y refléchis et je suis en parallèle preneur d'idée.

    En vous remerciant.

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/12/2007, 01h59
  2. Réponses: 3
    Dernier message: 04/07/2007, 14h08
  3. Problème à l'édition des liens
    Par Frederick_Etudiant dans le forum Code::Blocks
    Réponses: 3
    Dernier message: 03/05/2007, 17h01
  4. [Dev-C++] Problème d'édition des liens
    Par shura dans le forum EDI
    Réponses: 5
    Dernier message: 30/08/2005, 09h35
  5. Problème à l'édition des liens avec BCC55 et Xerces
    Par ShootDX dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 30/11/2003, 14h50

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