• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

FEHLER:undefined reference to `HttpWindow::staticMetaObject'

Hi,

ich habe ein Tutorial-Programm von der QT-Homepage heruntergeladen und wollte das ganze nun mal compilieren...
Link: http://doc.trolltech.com/4.1/network-http.html

Hier meine Makefile:
Code:
CXX      := g++
QT_DIR   := /home/martin/local/lib/qt/qt-4.1.0

# ----------------------------------------------------------------------------------
QT_INCS   := -I$(QT_DIR)/include -I$(QT_DIR)/include/Qt -I$(QT_DIR)/include/QtCore
QT_LIBS   := -L$(QT_DIR)/lib -lQtCore -lQtNetwork -lQtGui
CXXFLAGS  := $(CXXFLAGS) $(QT_INCS)
# ----------------------------------------------------------------------------------

all: main

main:	httpwindow.h httpwindow.cpp main.cpp
	$(CXX) $(CXXFLAGS) -o main main.cpp httpwindow.cpp $(QT_LIBS)

Ich bekomme folgende Fehler:
g++ -I/home/martin/local/lib/qt/qt-4.1.0/include -I/home/martin/local/lib/qt/qt-4.1.0/include/Qt -I/home/martin/local/lib/qt/qt-4.1.0/include/QtCore -o main main.cpp httpwindow.cpp -L/home/martin/local/lib/qt/qt-4.1.0/lib -lQtCore -lQtNetwork -lQtGui
/tmp/cc5vMBgG.o(.gnu.linkonce.t._ZN10HttpWindowD1Ev+0xb): In function `HttpWindow::~HttpWindow [in-charge]()':
main.cpp: undefined reference to `vtable for HttpWindow'
/tmp/cc5vMBgG.o(.gnu.linkonce.t._ZN10HttpWindowD1Ev+0x17):main.cpp: undefined reference to `vtable for HttpWindow'
/tmp/ccKcPtZk.o(.text+0x35): In function `HttpWindow::HttpWindow[not-in-charge](QWidget*)':
httpwindow.cpp: undefined reference to `vtable for HttpWindow'
/tmp/ccKcPtZk.o(.text+0x41):httpwindow.cpp: undefined reference to `vtable for HttpWindow'
/tmp/ccKcPtZk.o(.text+0x8d7): In function `HttpWindow::HttpWindow[in-charge](QWidget*)':
httpwindow.cpp: undefined reference to `vtable for HttpWindow'
/tmp/ccKcPtZk.o(.text+0x8e3):httpwindow.cpp: more undefined references to `vtable for HttpWindow' follow
/tmp/ccKcPtZk.o(.gnu.linkonce.t._ZN10HttpWindow2trEPKcS1_+0x11): In function `HttpWindow::tr(char const*, char const*)':
httpwindow.cpp: undefined reference to `HttpWindow::staticMetaObject'
collect2: ld returned 1 exit status
make: *** [main] Fehler 1

Hmmm...

Hat jemand eine Idee?

Gruss, M.B.
 

TeXpert

Guru
weil Du nicht die Qt-Addons benutzt, d.h. Du musst mit dem moc die entsprechenden Meta-Objekte kompilieren (moc httpwindow.cpp)

ein eigenes Makefile für Qt ist immer sehr aufwändig :( bau lieber ein qmake-Makefile und lass dir das richtige generieren, das ist auch einfacher zu warten.
 
Oben