Ceci est une question de seconde main d'un site de développement OS, mais il m'a fait curieux puisque je ne pouvais trouver une explication décente nulle part.À quoi sert __gxx_personality_v0?
Lors de la compilation et la liaison d'un programme C++ autonome en utilisant gcc, parfois une erreur de linker comme cela se produit:
out/kernel.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
C'est apparemment parce que ce symbole est défini dans libstdC++, ce qui manque dans un franco environnement permanent. La fixation du problème simplement, il faut définir ce symbole quelque part:
void *__gxx_personality_v0;
Ce qui est agréable, mais je n'aime pas les choses qui fonctionnent comme par magie ... La question est, quel est le but de ce symbole?
Merci pour le conseil à propos de '-fno-exceptions'. J'ai ajouté 'CPPFLAGS + = -fno-exceptions' à mon makefile, et cela a résolu l'erreur. –