Seite 1 von 1

vtable error mit robot example

Verfasst: 14. Februar 2011 16:35
von ps100
Hallo

ich benötige Funktionen aus dem "Drag and Drop Robot Example", daher wollte ich es mal zum Laufen bekommen ...

http://doc.qt.nokia.com/stable/graphics ... robot.html

Allerdings habe ich wenn ich es komilieren möchte ein Problem:

bei dieser Zeile aus main: ColorItem *item = new ColorItem; (und weiter auch beim erstellen der Robot items ...)

wird ein Fehler verursacht. Und zwar lässt sich das Objekt nicht erzeugen und ein Fehler mit "undefined reference to vtable" kommt ...

Was passt hier in dieser Klassendefinition nicht? bzw. was muss ich anpassen?

mfg und danke
ps

Verfasst: 14. Februar 2011 19:14
von Christian81
in pro-Datei fehlt HEADERS += <include_files>

Verfasst: 14. Februar 2011 19:39
von ps100
hallo

danke mal - werde ich dann gleich versuchen - und melde mich dann morgen mit dem status :-)

ALSO: das hat nichts gebracht ... und es sind doch die files die benötigt werden aufgelistet - oder gehören da weitere hin? bitte um kurze Erklärung ... :-)

zur Info: ich habe die "robot Dateien" runtergeladen und habe sie nicht im "QT examples" Ordner liegen ... Ich versuche aber aus einem Makefile zu kompilieren mit dem ich andre Anwendungen (die auch QT verwenden) problemlos kompilieren kann ... kann hier ein Problem entstehen?

lg

Verfasst: 15. Februar 2011 14:15
von kater
Schonmal Projekt bereinigt (clean) und qmake neu ausgefuehrt?

Verfasst: 15. Februar 2011 15:53
von ps100
hmmm

ich arbeite nicht mit qmake

sondern mit

cmake
und make

meine anderen qt einbindungen funktionieren so aber problemlos ...

kann hier das problem liegen?

lg

Verfasst: 15. Februar 2011 16:18
von pfid
ps100 hat geschrieben:hmmm

ich arbeite nicht mit qmake

sondern mit

cmake
und make

meine anderen qt einbindungen funktionieren so aber problemlos ...

kann hier das problem liegen?

lg
Erzeugen dir dein cmake und make aus dem Qt-Projektfile ein Makefile?

Verfasst: 15. Februar 2011 16:22
von ps100
Hallo

puh ... wohl eher nicht ...

cmake erstellt mir aus den Dateien die ich in CMakeLists angebe ein Makefile (welches ich dann mit make kompiliere) ...

ich habe im CMakeLists dann die zu kompilierende "robots" datei hinzugefügt ...

nun kann ich hier auch ein "moc" file erstellen - das mache ich mit meinen andren qt einbindungen ... das klappt aber hier auch nicht ...

gibts da eine Lösung für cmake - ich will nicht auf qmake wechseln - da ich für meine anderen Bibliotheken cmake benötige ...

DANKE lg :-)

Verfasst: 15. Februar 2011 16:35
von pfid
Kompilierts denn mit qmake?

Verfasst: 15. Februar 2011 16:38
von ps100
nein ich kompiliere mit "make" ...

Verfasst: 15. Februar 2011 17:05
von pfid
Ich meine ob es kompiliert, wenn du per qmake dein makefile erzeugst und das dann kompilierst.

Verfasst: 15. Februar 2011 17:17
von ps100
lol - ok sorry

hab ich nicht probiert

puh kann ich auch nicht so einfach probieren ... hab problem mit dem internet auf meinem andren pc .... ich melde mich sobald ich das testen kann

falls derweil jemand eine andere lösung hat würde ich mich trotzdem freuen :-)

Verfasst: 15. Februar 2011 18:03
von franzf
Man kann diese Diskussion noch ewig weiterführen, wird kein Ende geben wenn du uns nicht mal dein CMakeLists.txt zeigst.
Ich tippe darauf, dass du selber mocst und nicht die Funktionen verwendest, die dir die Qt4-Einbindung von cmake anbietet (qt4_automoc, bzw. besser manuell per qt4_wrap_cpp).
Findet man aber eigentlich sofort, wenn man die cmake-Doku anschaut (-> find_package sagt dir ja was, oder?)

Verfasst: 15. Februar 2011 18:06
von ps100
hallo

danke für die antwort! und sorry ist grad ein bissl blöd bei mir - da ich auf unterschiedlichen rechnern unterwegs bin :-(

ich werde das dann morgen liefern :-)

aber mal vielen dank für die hilfe soweit :-)

lg