Citation:
For Q_OBJECT class declarations in implementation (.cpp) files, we suggest a makefile rule like this:
foo.o: foo.moc
foo.moc: foo.cpp
moc $(DEFINES) $(INCPATH) -i $< -o $@
This guarantees that make will run the moc before it compiles foo.cpp. You can then put
#include "foo.moc"
at the end of foo.cpp, where all the classes declared in that file are fully known.
Bien sûr, la partie sur la Makefile rule n'est absolument pas à utiliser lorsque tu utilises qmake puisqu'il s'en occupe. C'est utile pour les gens faisant leur propres Makefiles, ou plus communément les développeurs de solutions tierce (genre les gars de CMake qui maintiennent le support de projets type Qt).