Qt «сигнализировать о неопределенной ссылочной ошибке» после наследования от QObject
Недавно мне нужно было добавить сигнал в класс, поэтому я изменил класс для наследования от QObject и добавил макрос Q_OBJECT в определение класса. Так как я получаюmsgstr "сообщить об ошибке в неопределенной ссылке для vtable for CLICommand" ошибка в строке класса ниже:
// File clicommand.h
#include <QString>
#include <QStringList>
#include <QTcpSocket>
#include "telnetthread.h"
class CLICommand : public QObject
{
Q_OBJECT
public:
CLICommand(TelnetThread *parentTelnetThread);
signals:
void signal_shutdown_request();
private:
TelnetThread *m_parentTelnetThread;
и вторая ошибкаmsgstr "сообщить об ошибке в неопределенной ссылке для vtable for CLICommand" в строке ниже (инициализация переменной-члена):
// File clicommand.cpp
#include <QDebug>
#include <QTcpSocket>
#include <QTextStream>
#include "version.h"
#include "clicommand.h"
#include "telnetthread.h"
#include "logger.h"
CLICommand::CLICommand(TelnetThread *parentTelnetThread)
: m_parentTelnetThread(parentTelnetThread)
{
}
и именно здесь я излучаю сигнал. Линия выброса генерирует ошибкунеопределенная ссылка на CLICommand :: signal_shutdown_request () ' :
// file shutdown_clicommand.cpp
#include <QIODevice>
#include "clicommand.h"
#include "logger.h"
#include "version.h"
void CLICommand::execute_shutdown(const QStringList &commandLineFragments)
{
emit signal_shutdown_request();
}
Я прочитал кучу постов на эту тему, но ни один из них не подходит. Я даже пытался очистить / восстановить все. Я не использую boost или другие библиотеки ... просто QT 5
Может кто-нибудь сказать мне, что я делаю не так?
РЕШЕНИЕ: в QT Creator щелкните проект правой кнопкой мыши, выберите RUN QMAKE, а затем перестройте все. Другие сообщения о запуске REBUILD ALL неверны ... сами по себе, которые НЕ будут запускать qmake.