Qt. Note: No relevant classes found. No output generated.

При написании кода фейкового клиента для unit-тестов столкнулся с такой проблемой, что препроцессор MOC не обрабатывал мой класс, выдавая предупреждение:

Note: No relevant classes found. No output generated.

Исходный код класса:

#pragma once

#include <QObject>
#include <QLocalSocket>

class FakeLocalClient : public QObject {
  Q_OBJECT

  public:
	FakeLocalClient();

	~FakeLocalClient();

	void connectToServer(const QString& serverName, QIODevice::OpenMode openMode = QIODevice::ReadWrite);

	bool waitForConnected(int msecs = 30'000);

	Q_SIGNAL void messageReceived(const QString& message);

	Q_SIGNAL void errorOccured(const QString& errorMessage);

	Q_SLOT void readIncomingMessage();

  private:
	QLocalSocket* client = nullptr;
	quint32 blockSize = 0;
};

На форумах в основном пишут о том, что отсутствует макрос Q_OBJECT, что не верно для моего случая.

Реальной причиной ошибки оказалось использование апострофа для разделения разрядов в числовом литерале (одно из нововведений C++14) в объявлении функции waitForConnected.

Теги: