I\'m trying to simplify (i.e. get rid of loads of boilerplate code) the creation of QObject wrapper classes that forward property access of other QObject<
moc doesn't like macros very well. It expands them to some degree, but it fails when they get complicated¹.
You can try to replace signals: with public:² (i.e. manually expanding the signals macro), andtell moc that you want the function to be a signal by putting Q_SIGNAL in front of the function declaration.
Replace
signals:\
void Notifier( Type value );\
with
public:\
Q_SIGNAL void Notifier( Type value );\
¹: for some definition of complicated... I don't know when it fails, but I ran into some different problems in the past. From my experience my guess is that moc has problems when a macro body contains another macro, like signals in your example. But this is just a guess - maybe the kind of macros moc fails at is something else.
²: Before Qt 5, that used to be protected.