Newbie: Howto convert qmake project to cmake

Christian Ehrlicher Ch.Ehrlicher at gmx.de
Tue Jul 11 14:23:18 CEST 2006


-------- Original-Nachricht --------
Datum: Tue, 11 Jul 2006 08:10:13 -0400
Von: "William A. Hoffman" <billlist at nycap.rr.com>
An: kde-buildsystem at kde.org
Betreff: Re: Newbie: Howto convert qmake project to cmake

> At 07:50 AM 7/11/2006, Aron Boström wrote:
> >Hi experts!
> >
> >I have a problem I have tried to solve for allmost a week now without
> success. 
> >
> >In /trunk/KDE/kdepim/views/conversationview I have the code of my
> qmake-based SoC project. It's at the moment Qt4 only, but that is about to change.
> So I need to make it build with cmake. However, I can't. 
> >
> >When linking my executable i get "undefined reference to 'vtable for
> <EverySingleClassName>'".
> >I have tried to copy and edit CMakeLists.txts from  many places in
> kdepim, kdelibs and kdebase, as well as tried the same with Qt's hello world
> tutorials. As long as I only have one sourcefile ( main.cpp) everything works
> just fine, but when I extends the solution to two source files (set (my_SRC
> main.cpp widget.cpp)) I bang my head into the wall.
> 
> It sounds like you are not running moc, that will cause undefined vtables
> in qt projects.

No, it's the old qmake vs. autotools way to include moc files.

qmake adds the moc-files to it's sources and compiles them separatly. autotools/ cmake needs them to be included in the sources with

#include "mySource.moc"


Also take care that they're named differently

qmake:
moc-header: moc_filename.cpp
moc-source: filename.moc

autotools:
moc-header: filename.moc
moc-source: don't know atm, maybe filename_moc.cpp ?


Christian
-- 


Echte DSL-Flatrate dauerhaft für 0,- Euro*!
"Feel free" mit GMX DSL! http://www.gmx.net/de/go/dsl


More information about the Kde-buildsystem mailing list