Pregunta

He creado un nuevo 'biblioteca de C ++' proyecto en Qt, que tiene el siguiente archivo de cabecera:

#include "Test_global.h"

#include <QString>
#include <QTcpServer>

class TESTSHARED_EXPORT Test : QTcpServer
{
    Q_OJECT

public:

    Test();
    ~Test();

signals:

    void NewMessage(QString);
};

(El archivo de aplicación es prácticamente vacía.)

Cuando intento para construir el objeto, recibo errores:

Test.h:8: error: ISO C++ forbids declaration of ‘Q_OJECT’ with no type
Test.h:10: error: expected ‘;’ before ‘public’
Test.cpp:3: error: definition of implicitly-declared 'Test::Test()'

Así que parece que moc no está procesando el archivo en absoluto. Lo que he hecho mal?

¿Fue útil?

Solución

Debe ser Q_OBJECT, no Q_OJECT.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top