undefined reference to WinMain@16

napsi

Erfahrenes Mitglied
Hallo!

Habe bei einem C-Programm folgenden Fehler beim Kompilieren bekommen:

undefined reference to WinMain@16

Code:
int gc(int x)
{
    int y=0;
    x *= y > 0;
    if (!(y>>4)) gc(y++);
    y += x>>2;      
    return(y);
}

Was mache ich falsch?

Zur Erklärung, bin kein C-Programmierer, deshalb wird dieser Fehler vermutlich für die Meisten von Euch sofort klar sein, aber das ist Teil eines Projektes, mit welchem ich mich befasse.

Ich hoffe auf Eure Hilfe

Danke schon im Vorraus.

glg.

Gerald
 
Hallo Gerald

Wenn du in Visual Studio ein Projekt mit Subsystem 'IMAGE_SUBSYSTEM_WINDOWS_GUI' erstellst wird erwartet, dass der Einstiegspunkt WinMain vorhanden ist.

Generell funktioniert dein Programm nicht, da es kein Programm ist. Es ist eine Funktion, aber du hast nirgendwo einen Einstiegspunkt definiert.

Viele Grüsse
Cromon
 
Hallo Cromon!
Hallo an Alle!

Danke für die Antwort.
Ich habe es nicht im Visual Studio sondern im Dev-C++ gemacht.

Die Vorgabe ist, dass im oben stehenden Code ein "Schlüsselwort" fehlt, damit am Ende eine Zahl ausgeworfen wird. Ich wollte es Compilieren, damit ich auch verstehen kann, was da passiert,...

Kurz gesagt, ich brauche das angeblich fehlende Schlüsselwort, welches hier verlangt wird.

Bitte um weitere Hilfe,

lg.

Gerald
 
Hallo,

Bei einem C-Programm gibt es immer genau einen Einstiegspunkt. Das ist main(). Der Code in dieser Methode wird vom Programm ausgeführt. Du hast hier eine Funktion gc() definiert. Das ist völlig in Ordnung, nur musst du auch ein main() bereitstellen. Im main() kannst du dann deine Funktion aufrufen.

Bsp.:
C++:
int main()
{
     gc();

     return 0;
}

Lg
 

Neue Beiträge

Zurück