Ich habe eines dieser Standardprobleme beim Kompilieren und brauche wirklich dringend Hilfe!!!
Mein Programm umfasst eine Header-Datei PLY.h, eine Datei PLY.cpp und eine main.cpp.
In der Header Datei wird das Objekt PLYObject definiert und in PLY.cpp wird es implementiert. In der main-Datei habe ich eine Funktion die folgendermassen aussieht:
PLYObject *obj;
void loadPLYObject(char *ply_file_name) { obj = new PLYObject(ply_file_name); }
Nun erhalte ich mit folgendem make-file, ------------------------------------------------------------------------- CPP = g++ LDLIBS = -lglut -lGL -lGLU -lX11 -lm -L/usr/X11R6/lib
.cpp: $(CPP) $@.cpp $(LDLIBS) -o $@ # ./$@ ------------------------------------------------------------------------- folgende Fehlermeldung: ----------------------------------------------------------------------------------- klimawandel@IBMX41:~/Dokumente/Computer Graphics/Lab/ex04/4.2$ make main #g++ -c main.cpp # g++ -o main main.cpp -lglut -lGL -lGLU -lX11 -lm -L/usr/X11R6/lib g++ main.cpp -lglut -lGL -lGLU -lX11 -lm -L/usr/X11R6/lib -o main /tmp/ccIz1iVX.o: In function `loadPLYObject(char*)': main.cpp.text+0x21): undefined reference to `PLYObject::PLYObject(char*)' /tmp/ccIz1iVX.o: In function `unloadPLYObject()': main.cpp.text+0xd6): undefined reference to `PLYObject::~PLYObject()' collect2: ld gab 1 als Ende-Status zurück make: *** [main] Fehler 1 -------------------------------------------------------------------------------------------
Ich nehme mal an dass dies ein klassisches Linker-Problem sein wird?!
Oder wie genau muss ich beim Kompilieren dieser Klassen vorgehen?