Heim  >  Artikel  >  Backend-Entwicklung  >  Warum erhalte ich in meinem C-Programm die Meldung „Fehler LNK2019 ungelöstes externes Symbol _main“?

Warum erhalte ich in meinem C-Programm die Meldung „Fehler LNK2019 ungelöstes externes Symbol _main“?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-12 20:21:02548Durchsuche

Why Am I Getting the

Fehler: Ungelöstes externes Symbol _main

Bei der Programmierung tritt häufig der Fehler „Fehler LNK2019 ungelöstes externes Symbol _main referenziert in“ auf Funktion „int __cdecl invoke_main(void)“ (?invoke_main@@YAHXZ)“. Dieser Fehler tritt auf, wenn der Compiler die Definition der Hauptfunktion, die den Einstiegspunkt eines C-Programms darstellt, nicht finden kann.

Verstehen der Fehlermeldung

Die Die Fehlermeldung weist darauf hin, dass:

  • Der Linker den Verweis auf ein externes Symbol namens „_main“ nicht auflösen kann.
  • Auf dieses Symbol wird in einer Funktion namens „invoke_main“ verwiesen.

Ursache des Fehlers

Dieser Fehler tritt normalerweise auf, wenn die Hauptfunktion nicht definiert oder nicht ordnungsgemäß mit dem entsprechenden Funktionsprototyp deklariert ist.

Lösung

Um diesen Fehler zu beheben, stellen Sie Folgendes sicher:

  • Definieren Sie die Hauptfunktion in Ihrem Code: In einem C-Programm muss die Hauptfunktion wie folgt definiert sein:
int main() {
  // Your code here
}
  • Überprüfen Sie Ihre Projekteigenschaften: Überprüfen Sie in Visual Studio dass die folgende Projekteigenschaftseinstellung korrekt eingestellt ist:

    • Projekteigenschaften->Linker->System->SubSystem = Windows

Diese Einstellung weist den Linker an, eine ausführbare Windows-Datei zu generieren, die eine Hauptfunktion erfordert.

Beispielcode

Als Referenz finden Sie hier einen vollständigen Beispielcode, der Folgendes enthält: funktionierende Hauptfunktion:

#include <iostream>

int main() {
  std::cout << "Hello, world!" << std::endl;
  return 0;
}

Durch Befolgen dieser Schritte sollten Sie in der Lage sein, das Problem „Fehler LNK2019 ungelöstes externes Symbol _main“ zu beheben und Ihr C-Programm erfolgreich zu erstellen.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in meinem C-Programm die Meldung „Fehler LNK2019 ungelöstes externes Symbol _main“?. 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