Qt "sinal de erro de referência indefinido" após herdar do QObject

Recentemente precisei adicionar um sinal a uma classe, então mudei a classe para herdar do QObject e adicionei a macro Q_OBJECT na definição da classe. Desde então eu recebo"sinal de erro de referência indefinido para 'vtable for CLICommand'" erro na linha de classe abaixo:

// 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;

e o segundo erro"sinal de erro de referência indefinido para 'vtable for CLICommand'" na linha abaixo (inicializando a variável de membro):

// 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)
{
}

e aqui é onde eu emito o sinal. A linha emit gera erroReferência indefinida para `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();
}

Eu li um monte de posts sobre este tema, mas nenhum parece se aplicar. Eu até tentei limpar / rebuildall. Eu não estou usando boost ou outras bibliotecas ... apenas QT 5

Alguém pode me dizer o que estou fazendo errado?

SOLUÇÃO: no QT Creator, clique com o botão direito do mouse no projeto, selecione RUN QMAKE e, em seguida, reconstrua tudo. Outros posts sobre a execução de REBUILD ALL estão incorretos ... por conta própria, que NÃO serão executados no qmake.

questionAnswers(1)

yourAnswerToTheQuestion