undefined reference to problem
Verfasst: 30. April 2007 16:02
Also ich bekomme beim compilieren immer diese Fehlermeldung
Benutzte die aktuellste qt version. Der Fehler kommt übrigens immer wenn er die Ausführbare Datei erstellt.
Da diese Fehlermeldung meist in zusammenhang mit nicht eingebundenen Header-Files ist list ich mal hier die Abhängigkeiten auf:
Es ist ein Editor nach dem 3 Schichtenmodell mit folgenden Dateien:
auch die Suchfunktion wenn ich sie mit einer eigenen main ausprobiere mit den Dateien funzt:
Die Header sind alle richtig eingebunden an denen kann es nicht liegen.
Auf die search() aus SearchDlg.cpp greif ich folgendermassen zu:
Weis jemand was ich hier übersehen hab?
Für die die das durchkompilieren möchten hab ich ein Archiv.zip drangehängt. Makefile ist auch schon drin.
gruß
Benutzte die aktuellste qt version. Der Fehler kommt übrigens immer wenn er die Ausführbare Datei erstellt.
Code: Alles auswählen
g++ -o Editor EditorPres.o EditorDlg.o EditorMain.o SearchDlg.o SearchPres.o FileIOAnw.o Messagge.o moc_EditorPres.o moc_EditorDlg.o -L/usr/lib -lQtGui -lQtCore -lpthread
SearchDlg.o: In function `SearchDlg::SearchDlg()':
SearchDlg.cpp:(.text+0x44): undefined reference to `vtable for SearchDlg'
SearchDlg.cpp:(.text+0x4b): undefined reference to `vtable for SearchDlg'
SearchDlg.o: In function `SearchDlg::SearchDlg()':
SearchDlg.cpp:(.text+0x74): undefined reference to `vtable for SearchDlg'
SearchDlg.cpp:(.text+0x7b): undefined reference to `vtable for SearchDlg'
SearchPres.o: In function `SearchPres::SearchPres()':
SearchPres.cpp:(.text+0x45b): undefined reference to `vtable for SearchPres'
SearchPres.cpp:(.text+0x462): undefined reference to `vtable for SearchPres'
SearchPres.o: In function `SearchPres::SearchPres()':
SearchPres.cpp:(.text+0x54b): undefined reference to `vtable for SearchPres'
SearchPres.cpp:(.text+0x552): undefined reference to `vtable for SearchPres'
collect2: ld gab 1 als Ende-Status zurück
make: *** [Editor] Fehler 1Es ist ein Editor nach dem 3 Schichtenmodell mit folgenden Dateien:
- EditorMain.cpp (Die main halt)
- EditorDlg.cpp, EditorDlg.h (Dialogmanagmentschicht)
- EditorPres.cpp, EditorPres.h (Presentationsschicht)
- FileIOAnw.cpp, FileIOAnw.h (Anwendungsschicht)
- Messagge.cpp, Messagge.h (zum abfangen von Fehlern)
auch die Suchfunktion wenn ich sie mit einer eigenen main ausprobiere mit den Dateien funzt:
- SearchDlg.cpp, SearchDlg.h
- SearchPres.cpp, SearchPres.h
Die Header sind alle richtig eingebunden an denen kann es nicht liegen.
Auf die search() aus SearchDlg.cpp greif ich folgendermassen zu:
Code: Alles auswählen
// EditorDlg.h
SearchDlg *dialog;
// EditorDlg.cpp
dialog = new SearchDlg();
// z.B. hier wird ein string von dieser Funktion zurückgegeben
QString textToFind = dialog->search();
Für die die das durchkompilieren möchten hab ich ein Archiv.zip drangehängt. Makefile ist auch schon drin.
gruß