Heim >Backend-Entwicklung >C++ >Warum erhalte ich in Visual Studio den Fehler „Unaufgelöstes externes Symbol'?

Warum erhalte ich in Visual Studio den Fehler „Unaufgelöstes externes Symbol'?

Susan Sarandon
Susan SarandonOriginal
2024-10-25 04:41:02784Durchsuche

Why Am I Getting an

Ungelöstes externes Symbol: Ein häufiger Fehler in Visual Studio

Beim Codieren in Visual Studio kann es frustrierend sein, auf einen ungelösten externen Symbolfehler zu stoßen. Dies weist darauf hin, dass der Compiler die Definition einer Funktion oder Variablen, auf die in Ihrem Code verwiesen wird, nicht finden kann. So können Sie dieses Problem angehen:

Ursachen für nicht aufgelöste externe Symbole

Dieser Fehler tritt normalerweise auf, wenn:

  • Eine Funktion oder Variable ist ohne entsprechende Definition in Ihrem Projekt deklariert.
  • Die Definition ist vorhanden, kann aber vom Compiler aufgrund fehlender Include-Direktiven oder Bibliotheksabhängigkeiten nicht gefunden werden.

Identifizierung des Problems

Um die fehlende Definition zu identifizieren, prüfen Sie die Fehlermeldung sorgfältig. Es werden das ungelöste Symbol und die verweisende Funktion angegeben. Dies kann Sie auf die Quelldatei verweisen, die die Deklaration, aber nicht die Definition enthält.

Problem beheben

  1. Funktionsdefinitionen überprüfen: Stellen Sie sicher, dass die betreffende Funktion oder Variable in der entsprechenden Quelldatei (.cpp) ordnungsgemäß definiert ist. Suchen Sie nach Deklarationen, die mit einem Semikolon (;) enden, aber Definitionen, denen der Hauptteil (Klammern {}) oder der Klassenbereich (A::) fehlt.
  2. Überprüfen Sie „Anweisungen einschließen“: Überprüfen Sie, ob der Header Die Datei (.h), die die Deklaration enthält, ist in der Quelldatei (.cpp) enthalten, in der das Symbol verwendet wird.
  3. Link zu externen Bibliotheken: Wenn die Definition in Ihrem Projekt nicht gefunden wird , prüfen Sie, ob es in einer externen Bibliothek definiert ist. Fügen Sie die erforderlichen Bibliotheksabhängigkeiten hinzu und verknüpfen Sie sie in den Einstellungen Ihres Projekts.
  4. Erstellen Sie das Projekt neu: Sobald die fehlende Definition behoben ist, erstellen Sie das Projekt neu, um sicherzustellen, dass der Compiler alle erforderlichen Elemente finden kann Symbole.

Beispiel

Angenommen, Sie erhalten die folgende Fehlermeldung:

error LNK2019: unresolved external symbol "void myClass::myFunction()"

Dies zeigt an, dass die Funktion myFunction in deklariert ist Klasse myClass, aber nicht definiert. Um das Problem zu beheben, stellen Sie sicher, dass Sie eine Definition wie diese haben:

void myClass::myFunction()
{
  // Function body
}

in der entsprechenden Quelldatei und dass Sie die erforderliche Header-Datei in die Quelldatei eingefügt haben, in der Sie myFunction verwenden.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in Visual Studio den Fehler „Unaufgelöstes externes Symbol'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn