73 votes

problème avec g ++ et "référence non définie à` __gxx_personality_v0 '"

Double Possible:
Undefined Symbol ___gxx_la personnalité_v0 sur le lien

J'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)

113voto

phoxis Points 14005

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.

63voto

onteria_ Points 18947

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X