При создании приложения я получаю следующую ошибку компоновщика.
HIMyClass.obj :: ошибка:
Неразрешенный внешний символ "Общественность:
виртуальная структура QMetaObject const *
__thiscall CHIMyClass :: metaObject (void) const
"
(? Метаобъект @ CHIMyClass @@ UBEPBUQMetaObject @@ XZ)
Файл не найден: HIMyClass.obj
HIMyClass.obj :: ошибка:
Неразрешенный внешний символ "Общественность:
виртуальная пустота * __thiscall
CHIMyClass :: qt_metacast (голец
const *) "
(? qt_metacast @ CHIMyClass @@ UAEPAXPBD @ Z) Файл не найден: HIMyClass.obj
HIMyClass.obj :: ошибка:
Неразрешенный внешний символ "Общественность:
виртуальный int __thiscall
CHIMyClass :: qt_metacall (перечисление
QMetaObject :: Call, int, void * *) "
(? qt_metacall @ CHIMyClass @@ UAEHW4Call @ QMetaObject @@ HPAPAX @ Z) Файл не найден: HIMyClass.obj
Объявление моего класса похоже на
class CHIMyClass:public QDialog
{
Q_OBJECT
....
};
Когда я комментирую Q_OBJECT, ошибка компоновщика исчезает ( и, очевидно, я не могу использовать сигналы и слоты ). Я использую Qt Creator в качестве IDE и Qt 4.5.3. Когда я даю Rebuild All , определенно будет вызван QMake . Я думаю, что проблема заключается в генерации файлов moc_ *. Я использую Windows XP и cl в качестве компилятора.
В чем может быть причина этой ошибки компоновщика?