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

Warum erhalte ich in meinem C-Projekt den Fehler „Fehler LNK2019 ungelöstes externes Symbol _main“?

Linda Hamilton
Linda HamiltonOriginal
2024-11-16 00:04:03111Durchsuche

Why am I getting the

Fehler: Ungelöstes externes Symbol „main“

Problem

Der Build-Prozess schlägt mit dem folgenden Fehler fehl:

Error LNK2019 unresolved external symbol _main referenced in function ""int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ)"

Ursache

Dieser Fehler tritt auf, wenn dem Projekt eine ordnungsgemäß definierte Hauptfunktion fehlt. In einem Windows-Programm erwartet das Betriebssystem die Definition einer Einstiegspunktfunktion namens main.

Lösung

Um diesen Fehler zu beheben, stellen Sie sicher, dass Ihr Projekt eine Hauptfunktion enthält, die die folgenden Anforderungen erfüllt :

  • Es muss als Einstiegspunkt des Programms definiert werden.
  • Es muss der Syntax folgen: int main(int argc, char *argv[])
  • Es muss in einer Quelldatei definiert werden, die im Projekt-Build enthalten ist.

Detaillierte Antwort

Im bereitgestellten Code fehlt die Hauptfunktion. Durch Hinzufügen des folgenden Codes zum Projekt wird das Problem behoben:

int main()
{
    // Your application code here...
    return 0;
}

Zusätzliche Hinweise

  • Stellen Sie sicher, dass die Linkereinstellungen in Ihren Projekteigenschaften korrekt konfiguriert sind. Insbesondere die Option „SubSystem“ unter „Linker“ -> „System“ sollte auf „Windows“ eingestellt sein.
  • Wenn Sie eine Nicht-Windows-Plattform verwenden, kann die Einstiegspunktfunktion anders benannt werden. Informationen zum korrekten Namen der Einstiegspunktfunktion finden Sie in der Dokumentation Ihrer Plattform.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in meinem C-Projekt den Fehler „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