Невозможно объявить сигнал в базовом классе

У меня есть класс A, родитель класса B и класса C. У меня есть сигналы: объявленные и используемые в классе B и классе C. Но когда я пытаюсь написать другие сигналы: в классе A, это дает мне ссылку vtable ошибки. Я не могу записать макрос Q_OBJECT в файл .h, что приводит к ошибке.


person sujithkrishnan    schedule 01.08.2011    source источник


Ответы (1)


Поскольку вы не предоставили никакого кода, я просто сделаю дикое предположение.

Неопределенная ссылка на тип ошибок `vtable обычно возникает из-за того, что компилятор moc не генерирует код.

Я просто предполагаю, что вам нужно перезапустить qmake.

Также убедитесь, что этот файл включен в раздел HEADERS вашего .pro-файла.

person O.C.    schedule 01.08.2011
comment
Это правильно, каждый раз, когда вы добавляете макрос Q_OBJECT в класс, вам нужно перезапускать qmake. - person Chris; 02.08.2011
comment
Проблема в том, что когда я пишу метод сигнала, я получаю сообщение об ошибке, что метод не определен. компилятор обрабатывает его не как сигнал, а как метод экземпляра. - person sujithkrishnan; 02.08.2011