[Interest] moc not moccing

Konrad Rosenbaum konrad at silmor.de
Tue May 20 11:21:19 CEST 2014


how did you try to build this? Did you use qmake, plain make, cmake, ...?

However, I think you do need a constructor for classes that are processed
by moc - at least it is good style to provide one. One like this would be

C++-98: NewTest(){}
C++-11: NewTest()=default;

Also, it is bad style to declare moc'ed classes in the CPP file. Please
use headers for this. If it is a private class (one only used inside this
one module) the convention is to name the header with _p.h, e.g.
NewTest_p.h, this way other programmers in the team know they are not
supposed to #include this header without asking first.


On Mon, May 19, 2014 13:17, Graham Labdon wrote:
> Hi
> If I declare a class in a cpp file -
> #include <QObject>
> class NewTest : public QObject
> {
> 	private slots:
> 		void s1();
> };
> void NewTest::s1()
> {
> }
> #include "NewTest.moc"
> The moc compiler is not invoked
> However, if I declare a constructor for NewTest it is
> Can anyone explain why this is?
> I am writing some unit tests and do not need the constructor.
> Once the moc has been invoked I can remove the constructor and then
> everything works as expected
> Thanks
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest

More information about the Interest mailing list