[C++] erreur de compilation :
bonjour tous le monde
j'obtient le message d'eereur
Citation:
/usr/bin/ld: warning: libstdc++.so.5, needed by /usr/X11R6/lib//libGLU.so, may conflict with libstdc++.so.6
/tmp/cc6qZpRX.o(.text+0x1d): dans la fonction « Arme::Arme() »:
: undefined reference to `vtable for Arme'
/tmp/cc6qZpRX.o(.text+0x41): dans la fonction « Arme::Arme() »:
: undefined reference to `vtable for Arme'
/tmp/cc3ex1cu.o(.text+0x6dd): dans la fonction « Joueur::tirer() »:
: undefined reference to `Arme::tirer()'
/tmp/ccUgnGtK.o(.gnu.linkonce.r._ZTI8M1Garand+0x8): undefined reference to `typeinfo for Arme'
collect2: ld a retourné 1 code d'état d'exécution
avec la commande suivante
Citation:
g++-3.4 *.cpp *.o -L/usr/X11R6/lib/ -lGLU -lSDL -lSDL_image -l SDL_mixer -lGL -lm -o main
j'ai 3 classes (résumé ci-dessous)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
class Joueur
{
Arme arme_courante;
....
Joueur();
void tirer();
};
Joueur::Joueur()
{
arme_courante = M1Garand();
}
void Joueur::tirer()
{
arme_courante.tirer();
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
class Arme :public Objet
{
Arme();
virtual void tirer();
}; |
et la troisième
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
class M1Garand :public Arme
{
...
void tirer();
};
void M1Garand::tirer()
{
//code
} |
voici mes question :
1 - comment éviter le problème de conflit ?
2 - quel est mon erreur dans mon programme ?[/code]