Ошибка компоновщика Q_OBJECT!C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Ошибка компоновщика Q_OBJECT!

Сообщение Anonymous »

При сборке приложения я получаю следующую ошибку компоновщика.


HIMyClass.obj:: ошибка:
неразрешенная внешний символ "public:
virtual struct QMetaObject const *
__thiscall CHIMyClass::metaObject(void)const
"
(?metaObject@CHIMyClass@@UBEPBUQMetaObject@@XZ)
Файл не найден: HIMyClass.obj

HIMyClass.obj:: ошибка:
неразрешенный внешний символ «public:
virtual void * __thiscall CHIMyClass::qt_metacast(char
const *)"
(?qt_metacast@CHIMyClass@@UAEPAXPBD@Z) Файл не найден: HIMyClass.obj

HIMyClass.obj:: ошибка:
неразрешенный внешний символ "public:
virtual int __thiscall
CHIMyClass::qt_metacall(enum
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 в качестве компилятора.

В чем может быть причина этой ошибки компоновщика?

Подробнее здесь: https://stackoverflow.com/questions/326 ... nker-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»