Maison >développement back-end >C++ >Pourquoi est-ce que j'obtiens des symboles de liaison non résolus lors de la compilation du code C ?

Pourquoi est-ce que j'obtiens des symboles de liaison non résolus lors de la compilation du code C ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-18 12:43:15811parcourir

Why Do I Get Unresolved Linker Symbols When Compiling C   Code?

Symboles de liaison non résolus lors de la compilation du code C

Lors d'une tentative de compilation de code C à l'aide du front-end C, par exemple en appelant gcc, vous pouvez rencontrer des erreurs dues à des symboles non résolus liés à la bibliothèque C standard. Cela se produit lorsque l'éditeur de liens n'est pas correctement configuré pour inclure les bibliothèques C nécessaires.

Identification du problème

Le message d'erreur fournit généralement des indices sur les symboles manquants, tels que "std :: cout" ou "std :: ios_base :: Init". Ces symboles sont essentiels à la fonctionnalité C.

Résolution

Pour résoudre le problème, assurez-vous que vous utilisez le compilateur approprié qui comprend et lie le code C, tel que g ou clang. Ces compilateurs incluent automatiquement les bibliothèques appropriées.

Si vous utilisez directement gcc ou clang, vous pouvez ajouter l'indicateur "-lstdc" à la ligne de lien pour spécifier explicitement la bibliothèque standard C.

Informations supplémentaires

  • Utilisation de g ou de clang :
g++ example.cpp
clang++ example.cpp
  • Ajout de "-lstdc" à la ligne de lien :

Si vous utilisez clang, vous pouvez utiliser l'indicateur "-v" pour afficher la ligne de lien et vérifier qu'elle inclut le "-lstdc " flag:

clang -v example.cpp

Conclusion

En utilisant le compilateur approprié et en vous assurant que la bibliothèque standard C est incluse, vous pouvez éviter les erreurs de l'éditeur de liens lors de la compilation du code C.

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