Я пытаюсь скомпилировать базовую учебную программу на http://doc.trolltech.com/4.4/mainwindows-application.html и сталкиваюсь с проблемой.
Делая вещи так, как это делает учебная программа, выдает ошибку компиляции:
In file included from debug\moc_mainwindow.cpp:10:
debug\../mainwindow.h:2: error: expected class-name before '{' token
debug\../mainwindow.h:5: error: ISO C++ forbids declaration of `Q_OBJECT' with no type
Проблема заключается в необходимости
#include <QtGui>
Программа обучения помещает это в mainwindow.cpp, что является желательным способом сделать это, но затем оно не копируется в файл moc.
Если вместо этого я помещу его в mainwindow.h, все будет работать нормально, но делать это в каждом заголовочном файле будет нелегко и будет увеличивать время компиляции, когда программа станет больше.
Это что-то изменилось с момента написания учебника? (Я использую последнюю версию Qt 4.5.3, Windows SDK install, компилирую из командной строки.) Я что-то упустил или есть какое-либо известное исправление этой проблемы?