Double Possible:
Undefined Symbol ___gxx_la personnalité_v0 sur le lienJ'ai un problème, j'ai le texte Suivant programm
// fkt.cpp #include "fkt.h" int add2(int a, int b) { return a+b; }
et l'en-tête:
// fkt.h int add2(int a, int b);
maintenant, je le compiler avec:
g++ -c fkt.cpp
maintenant je gère
nm
et obtenez:00000000 T _Z6add2ii U __gxx_personality_v0
lorsque je veux utiliser la fonction de n'importe où-je obtenir:
(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
comment puis-je résoudre ce problème? (je suis sous ubuntu linux)
Réponses
Trop de publicités? Si g++
donne toujours une erreur Essayez d'utiliser:
g++ file.c -lstdc++
Regardez ce post: A quoi sert __gxx_personality_v0?
Assurez-vous que -lstdc++
est à la fin de la commande. Si vous le placez au début (c'est-à-dire avant le fichier.c), vous pouvez toujours obtenir la même erreur.
On dirait que vous êtes tenté de faire le lien avec votre fichier objet avec gcc
au lieu de g++
:
Notez que les programmes à l'aide de C++ objet les fichiers doivent toujours être liés avec g++, afin de fournir à la appropriée C++ des bibliothèques. Tente de lier un C++ fichier objet avec le compilateur C gcc va entraîner "undefined reference" les erreurs de C++ de la bibliothèque standard fonctions:
$ g++ -Wall -c hello.cc
$ gcc hello.o (should use g++)
hello.o: In function `main':
hello.o(.text+0x1b): undefined reference to `std::cout'
.....
hello.o(.eh_frame+0x11):
undefined reference to `__gxx_personality_v0'
Source: http://www.network-theory.co.uk/docs/gccintro/gccintro_54.html