Maison > développement back-end > C++ > le corps du texte

Pourquoi est-ce que je reçois une erreur « Symbole externe non résolu » dans Visual Studio ?

Susan Sarandon
Libérer: 2024-10-25 04:41:02
original
669 Les gens l'ont consulté

Why Am I Getting an

Symbole externe non résolu : une erreur courante dans Visual Studio

Lors du codage dans Visual Studio, rencontrer une erreur de symbole externe non résolue peut être frustrant. Cela indique que le compilateur ne trouve pas la définition d'une fonction ou d'une variable référencée dans votre code. Voici comment aborder ce problème :

Causes des symboles externes non résolus

Cette erreur se produit généralement lorsque :

  • Une fonction ou une variable est déclaré sans définition correspondante dans votre projet.
  • La définition est présente mais ne peut pas être trouvée par le compilateur en raison de directives d'inclusion manquantes ou de dépendances de bibliothèque.

Identification du problème

Pour identifier la définition manquante, examinez attentivement le message d'erreur. Il précisera le symbole non résolu et la fonction de référence. Cela peut vous diriger vers le fichier source contenant la déclaration mais pas la définition.

Résoudre le problème

  1. Vérifier les définitions des fonctions : Assurez-vous que la fonction ou la variable en question est correctement définie dans le fichier source correspondant (.cpp). Recherchez les déclarations se terminant par un point-virgule (;) mais les définitions ne contiennent pas le corps (crochets {}) ou la portée de la classe (A::).
  2. Vérifiez les directives d'inclusion : Vérifiez que l'en-tête Le fichier (.h) contenant la déclaration est inclus dans le fichier source (.cpp) où le symbole est utilisé.
  3. Lien vers les bibliothèques externes : Si la définition n'est pas trouvée dans votre projet , vérifiez s'il est défini dans une bibliothèque externe. Ajoutez les dépendances de bibliothèque nécessaires et créez un lien vers la bibliothèque dans les paramètres de votre projet.
  4. Reconstruisez le projet : Une fois la définition manquante corrigée, reconstruisez le projet pour vous assurer que le compilateur peut trouver tous les éléments requis. symboles.

Exemple

Supposons que vous obteniez l'erreur suivante :

error LNK2019: unresolved external symbol "void myClass::myFunction()"
Copier après la connexion

Cela indique que la fonction myFunction est déclarée dans le classe myClass mais non définie. Pour le résoudre, assurez-vous d'avoir une définition comme celle-ci :

void myClass::myFunction()
{
  // Function body
}
Copier après la connexion

dans le fichier source correspondant et que vous avez inclus le fichier d'en-tête nécessaire dans le fichier source où vous utilisez myFunction.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!