Heim > Backend-Entwicklung > C++ > Warum erhalte ich in meiner C-Anwendung die Meldung „Fehler LNK2019 ungelöstes externes Symbol _main'?

Warum erhalte ich in meiner C-Anwendung die Meldung „Fehler LNK2019 ungelöstes externes Symbol _main'?

Susan Sarandon
Freigeben: 2024-11-22 09:00:12
Original
329 Leute haben es durchsucht

Why am I getting the

Fehler: Auflösen externer Symbole in C-Anwendungen

Problem:

Beim Erstellen einer C-Anwendung kann der folgende Fehler auftreten:

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

Ursache:

Dieser Fehler tritt normalerweise auf, wenn die folgenden Bedingungen nicht zutreffen erfüllt:

  • Die Einstiegspunktfunktion main() des Projekts ist nicht definiert oder vom Hauptmodul aus nicht zugänglich.
  • Der Linker kann die Definition von main() im angegebenen Verzeichnis nicht finden Bibliothek.

Lösung:

Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus:

1. Stellen Sie sicher, dass die Funktion main() vorhanden ist:

Stellen Sie sicher, dass Ihr Projekt eine Funktion namens main() im Quellcode enthält. Diese Funktion dient als Einstiegspunkt für das Programm und muss wie folgt definiert werden:

int main(int argc, char** argv)
{
    // Your program logic goes here
    return 0;
}
Nach dem Login kopieren

2. Linker-Einstellungen:

Überprüfen Sie die Linker-Einstellungen Ihres Projekts, um sicherzustellen, dass die Funktion main() vom Hauptmodul aus zugänglich ist. Gehen Sie in Visual Studio zu:

  • Projekteigenschaften
  • Linker
  • System
  • Wählen Sie unter Subsystem aus Windows

3. Einbindung der Bibliothek überprüfen:

Bestätigen Sie, dass die Bibliothek, die die Definition von main() enthält, in den Linker-Einstellungen des Projekts enthalten ist. Dies finden Sie unter:

  • Projekteigenschaften
  • Linker
  • Eingabe
  • Zusätzlich Abhängigkeiten

Beispielprojekt:

#include "windows.h"

int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hprevinstance, LPSTR lpcmdline, int ncmdshow)
{
    MessageBox(NULL, _T("Hello, world!"), _T("My Application"), MB_OK);

    return 0;
}
Nach dem Login kopieren

Hinweis: In diesem Beispiel wird main() mit dem WINAPI-Makro deklariert, da WinMain( )-Funktion ist der Einstiegspunkt für Windows-Anwendungen.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in meiner C-Anwendung die Meldung „Fehler LNK2019 ungelöstes externes Symbol _main'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage