Im trying to make some small programs with QT4. Everyting goes well untill I want to create my own widgets with the Q_OBJECT in a class.
Then I can't compile the thing anymore.
It says:

Undefined symbols:
  "vtable for Communicate", referenced from:
      __ZTV11Communicate$non_lazy_ptr in main.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

What did I do wrong? I just copy-pasted some code from a tutorial.
It's the communicate example at the bottom. The only difference with my code is that I've put everything in one file. I know it isn't supposed to be done that way but I just want to learn QT4.

I've already tried reinstalling QT4 but it didn't help.
I'm running Snow Leopard if it makes any difference.


7 Years
Discussion Span
Last Post by Japus

Did you go through all of the

qmake -project    (regardless of your project name)
qmake projname.pro (your projects C++ file name+.pro)

steps. If not, try that. If you have done it, try dividing it up into the three files to see what happens. Qt works with a lot of macros and something out of place could gum up the works.

P.S. There's a free pdf (released by the author under Open Publication) at http://www.qtrac.eu/marksummerfield.html (the author's website). Regrettably, I never finished it but I got through the bulk of it. He develops a very very rudimentary spreadsheet application but it's neat to see the inner machinations.

Edited by jonsca: n/a


Well I've divided it into 3 files and now it works.
So from now on doing it the right way and not in a hurry.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.