Maison  >  Article  >  développement back-end  >  Pourquoi est-ce que je reçois une erreur « Symbole externe non résolu » dans Visual Studio ?

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

Susan Sarandon
Susan Sarandonoriginal
2024-10-25 04:41:02670parcourir

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()"

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
}

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!

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