Ganz blöde Sache in C++ (GCC über die Kommandozeile):
Ich habe mehrere Klassen, die alle in eigenen Dateien deklariert sind. Eine Datei enthält die main-Methode, in dieser will ich einige der anderen Klassen verwenden. Dazu binde ich die Header-Datei der Klassen ein, eine sieht z.B. so aus:
Code:
/*Header-Datei für die Klasse
Exception*/
class
Exception {
private:
char* m_message;
public:
Exception();
Exception(char* message);
~
Exception();
char* report();
};
Meine Datei mit der Main-Methode sieht so aus:
Code:
#include <stdio.h>
#include "
exception.h"
int main() {
Exception e;
}
Leider bekomm ich beim Kompilieren mittels
gcc dateiname.cpp folgende Fehlernmeldung:
Zitat:
E:\DOKUME~2\Haupt\LOKALE~1\Temp/ccG4aaaa.o(.text+0x2c):test1.cpp: undefined refe
rence to `
Exception::
Exception()'
E:\DOKUME~2\Haupt\LOKALE~1\Temp/ccG4aaaa.o(.text+0x4b):test1.cpp: undefined refe
rence to `
Exception::~
Exception()'
Er findet also die scheinbar die Klasse
Exception nicht. Aber: Wenn ich die Klasse
Exception zusätzlich in dieser Datei definiere, kommt die Fehlermeldung, dass ich die Klasse redefiniere, sie wird also schon irgendwie gefunden.
Was mach ich falsch?