Maison >développement back-end >C++ >Pourquoi est-ce que j'obtiens l'erreur « Symbole non défini \'___gxx_personality_v0\'\ » lors de la compilation du code C avec GCC ?

Pourquoi est-ce que j'obtiens l'erreur « Symbole non défini \'___gxx_personality_v0\'\ » lors de la compilation du code C avec GCC ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-23 13:09:11660parcourir

Why Do I Get the

Symbole non défini "___gxx_personality_v0" dans les versions GCC

Lors de la compilation du code C avec la ligne de commande gcc test.cpp, les développeurs peuvent rencontrer l'erreur :

Undefined symbols:
  "___gxx_personality_v0", referenced from:
  etc...

Cette erreur se produit car gcc est destiné à compiler du code C. Pour créer du code C, utilisez plutôt le compilateur C g :

g++ test.cpp

Alternativement, si gcc doit être utilisé, ajoutez l'indicateur -lstdc à la ligne de commande :

gcc test.cpp -lstdc++

Cet indicateur relie la bibliothèque Standard C, qui contient les symboles nécessaires.

Exécuter md5 sur les exécutables résultants (.a.out) de g et gcc avec -lstdc donne une sortie identique, indiquant qu'ils sont équivalents.

Par conséquent, l'utilisation de g est généralement recommandée pour compiler du code C pour des raisons de simplicité et de compatibilité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn