Maison > développement back-end > C++ > Pourquoi est-ce que j'obtiens des erreurs « Symbole non défini ___gxx_personality_v0 sur le lien » lors de la compilation de mon code C avec gcc ?

Pourquoi est-ce que j'obtiens des erreurs « Symbole non défini ___gxx_personality_v0 sur le lien » lors de la compilation de mon code C avec gcc ?

Linda Hamilton
Libérer: 2024-11-16 06:11:03
original
758 Les gens l'ont consulté

Why am I getting

Erreurs de symboles non définis lors de la compilation C

Lorsque vous essayez de compiler votre programme C à l'aide de la commande "gcc test.cpp", vous rencontrez le message d'erreur "Symbole non défini ___gxx_personality_v0 sur le lien." Cette erreur signifie un symbole manquant requis pour une liaison réussie.

Le problème principal provient de l'utilisation d'un compilateur incorrect pour le code C. Alors que gcc est principalement destiné à compiler des programmes C, C nécessite un compilateur distinct tel que g . Lorsque vous utilisez gcc avec du code C, il lui manque la capacité nécessaire pour reconnaître et gérer le symbole spécifique ___gxx_personality_v0, qui est essentiel pour gérer les exceptions et le déroulement.

Pour résoudre ce problème, deux approches sont recommandées :

Utilisation du compilateur g

La principale solution consiste à utiliser le compilateur approprié pour C code. Remplacez gcc par g dans votre ligne de commande comme suit :

g++ test.cpp
Copier après la connexion

g est équipé pour gérer les complexités de C , y compris les symboles nécessaires requis pour la liaison.

Lien avec C Bibliothèque standard (approche prioritaire)

Alternativement, si vous avez une raison impérieuse de continuer à utiliser gcc, vous pouvez ajouter l'option "-lstdc" sur votre ligne de commande. Cette option demande à gcc de créer un lien avec la bibliothèque standard C, qui contient le symbole manquant :

gcc test.cpp -lstdc++
Copier après la connexion

En utilisant cette méthode, vous pouvez toujours compiler et lier votre code C avec gcc, mais cela peut ne pas être aussi efficace ou recommandé.

En adhérant à ces solutions, vous pouvez éliminer l'erreur "Symbole non défini ___gxx_personality_v0 sur le lien" et assurer une compilation et une liaison réussies de votre C code.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal