KDE TechBase
  • Page
  • Discussion
  • Edit
  • +
  • History
KDE TechBase is a Wiki - You can help! Please contribute! Questions?
Please ask development related questions in the KDE Community Forum.

Talk:Development/Tutorials/Saving and loading

< Talk:Development | Tutorials

[edit] Compiling failed due to 'undefined reference to vtable ...'

When compiling, cmake failed during the linking process.

undefined reference to `vtable for MainWindow'

I received this error, after making one tiny mistake: I named my headerfile

mainwindow.hpp

instead of

mainwindow.h

Once renamed, everything should work fine.

Tiny hint: if you quickly want to copy the source displayed in this tutorial, but are as annoyed as I am about the line numbering which is copied as well, use the edit function of this site to access the (barebone) sourcecode.

I just tested this with Konq, Firefox and Opera and none of them copied the line numbering. What browser are you using? --milliams 15:00, 22 March 2008 (CET)

[edit] Solution for "undefined reference to `vtable for MainWindow'"

When I tried to compile the code, I got the same error:

undefined reference to `vtable for MainWindow'

This is because you have to change CMakeLists.txt in order to generate .moc files. Just add this line:

qt4_automoc(${tutorial4_SRCS})

Then you also have to add this line at the bottom of mainwindow.cpp:

#include "mainwindow.moc"

This fixed the problem for me. Please try this and post your results so I can correct the tutorial.

You shouldn't need to use qt4_automoc() at all. With the code copied verbatim from the tutorial it builds just fine. The kde4_add_executable() does all that magic itself. According to Thiago, "If kde4automoc [which is called by kde4_add_executable() I believe] finds a header with Q_OBJECT whose .moc isn't included anywhere, it'll include that from a .cpp" --milliams 16:02, 14 April 2008 (CEST)
Thank you very much. I used the KDevelop cmake template to create my project and the CMakeLists.txt used add_executable() instead of kde4_add_executable(). Problem solved :-) --Simon Schweiger 18:18, 14 April 2008 (CEST)
Retrieved from "http://techbase.kde.org/Talk:Development/Tutorials/Saving_and_loading"

Navigation

  • Home
  • Help
  • Recent changes

Sections

  • Getting started
  • Development
  • Schedules
  • Policies
  • Contribute
  • Projects

Toolbox

  • What links here
  • Related changes
  • Special pages
  • Printable version
  • Permanent link

Personal tools

  • 38.107.191.97
  • Talk for this IP
  • Log in / create account
  • Login with OpenID
Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal