Ошибка Qt vtable - PullRequest
       1

Ошибка Qt vtable

2 голосов
/ 15 марта 2012

Я просматриваю старые учебники по Trolltech Qt, так как нахожу их более полезными, чем новые, и ошибка undefined reference to vtable поражает меня, когда я попадаю в виджет класса, реализующий свои собственные сигналы.

http://doc.trolltech.com/4.0/tutorial-t7.html

Вместо того, чтобы хранить отдельный код, я просто скопировал их все в один и тот же .cpp для удобства.

Я обыскал и обнаружил, что ошибка vtable вызвана неопределенной виртуальной функцией. Однако я ничего не пропустил из учебного кода, кроме разделения кода. Пропуск макроса Q_OBJECT из lcdrange.h, а также слотов и сигналов, по-видимому, приводит к компиляции проекта. Я полагаю, что это void valueChanged(int newValue); в lcdrange.h, что вызывает суету, но учебник не дал определения. Я уверен, что они не будут публиковать код, который не работает, поэтому я должен делать что-то не так. Я использую C :: B (MinGW), если это что-то значит. Я также новичок в C ++.

1 Ответ

3 голосов
/ 15 марта 2012

MOC должен сгенерировать код для lcdrange.h, и сгенерированный код должен быть скомпилирован и скомпонован.qmake гарантирует это для всех заголовочных файлов, перечисленных в переменной HEADERS.Убедитесь, что lcdrange.h указан в разделе HEADERS вашего .pro-файла, и перезапустите qmake.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...