Seite 1 von 1

Frage zu einem Fehler

Verfasst: 10. Juni 2007 13:06
von phy51km4n
Was bedeuten eigentlich, bei der Übersetzung eines Projekts, folgende Fehler:

g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -Wl,-s -Wl,-subsystem,windows -o "release\centralWidget.exe" release\centralWidget.o release\main.o release\spreadsheet.o release\moc_spreadsheet.o -L"c:\Qt\4.2.3\lib" -lmingw32 -lqtmain -lQtGui4 -lQtCore4

release\centralWidget.o(.text+0x82):centralWidget.cpp: undefined reference to `vtable for CentralWidget'
release\centralWidget.o(.text+0x89):centralWidget.cpp: undefined reference to `vtable for CentralWidget'
release\centralWidget.o(.text+0x333):centralWidget.cpp: undefined reference to `CentralWidget::staticMetaObject'
release\centralWidget.o(.text+0x1112):centralWidget.cpp: undefined reference to`vtable for CentralWidget'
release\centralWidget.o(.text+0x1119):centralWidget.cpp: undefined reference to`vtable for CentralWidget'
release\centralWidget.o(.text+0x13c3):centralWidget.cpp: undefined reference to`CentralWidget::staticMetaObject'
collect2: ld returned 1 exit status
mingw32-make: *** [release\centralWidget.exe] Error 1

Ist irgendwas mit dem moc oder was?

Verfasst: 10. Juni 2007 13:08
von phy51km4n
Qt Meta Object Compiler version 59 (Qt 4.2.3)

Verfasst: 10. Juni 2007 13:11
von Christian81
Forum-Suche würde ich sagen.

Q_OBJECT im Header eingetragen aber dann vergessen qmake neu aufzurufen und/oder den Header in der pro-Datei hinzuzufügen.

Verfasst: 10. Juni 2007 14:34
von phy51km4n
ah danke daran lag's.

dann gibts aber noch was:
wenn ich das Projekt mit "make -f Makefile.Debug" übersetzen will, kommt am Ende folgende Meldung:

g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-subsystem,windows
-o "debug\centralWidget.exe" debug\centralWidget.o debug\main.o debug\spreadsheet.o debug\moc_centralWidget.o debug\moc_
spreadsheet.o -L"c:\Qt\4.2.3\lib" -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4

C:\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -lqtmaind
collect2: ld returned 1 exit status
mingw32-make: *** [debug\centralWidget.exe] Error 1

Warum findet der qtmaind oder was auch immer nicht?

Verfasst: 10. Juni 2007 15:41
von Christian81
Weil das auch im Forum steht...

Das Binary-Paket von Trolltech bringt nur die Release-Libs mit. Die Debug-Libs müssen erst noch erstellt werden. Dazu gibt es einen Menüpunkt.