warum geht das denn nicht ???
-
Hallo.
Ich habe folgenden Code geschrieben:
Header:
#ifndef CWCONTROL_H #define CWCONTROL_H class CWControl{ private: public: void initGame(); }; #endif
Cpp:
#ifndef CWCONTROL_CPP #define CWCONTROL_CPP #include "CWControl.h" #include <iostream> #include <cstdlib> #include "Galaxy.h" #include "Sunsystem.h" #include "Planet.h" using namespace std; int main(void){ CWControl Control; Control.initGame(); return 0; } void initGame() { char choice; system("cls"); cout << "Willkommen zu Cluster Wars" << endl; cout << "Du befindest dich im Hauptmenu und hast nun folgende Auswahlmöglichkeiten:\n\n" << endl; cout << "(N)eues Spiel starten (G)espeichertes Spiel laden (I)nformationen zum Autor" << endl; /*cin >> choice; switch (choice) { case('n'): cout << "Also ein neues Spiel starten" << endl; break; case('g'): cout << "Also ein gespeichertes Spiel laden" << endl; break; case('i'): cout << "Bla bla bla" << endl; break; default: cout << "Dies ist leider keine gültige eingabe" << endl; }*/ } #endif
Die Fehlermeldung lautet:
LIBCD.lib(crt0.obj) : error LNK2001: Nichtaufgeloestes externes Symbol _main
Debug/Cluster_Wars.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.Wäre nett wenn mir jmd helfen würde.
-
Sicher, dass die cpp-Datei in dein Projekt eingebunden ist?
Du solltest die Funktion initGame so definieren:
void CWControl::initGame() { /* */ }
Sonst weiß der Compiler nicht, dass die Funktion zur Klasse CWControl gehört.
Include Guards (der ifdef/define Kram) sind in cpp-Dateien überflüssig. Das benötigen nur Header.
-
Alles klar danke.
Es funktioniert jetzt.