i am playing with Exposing Attributes of C++ Types to QML in Qt5 based on this tutor <http://qt-project.org/doc/qt-5.0/qtqml/qtqml-cppintegration-exposecppattributes.html>. when i run it i got this error on my issues pane **error: variable 'QQmlComponent component' has initializer but incomplete type** not only i have this error i have also this error the signal i have created using Q\_PROPERTY is not detected

> 
> C:\Users\Tekme\Documents\QtStuf\quick\QmlCpp\message.h:15: error: 'authorChanged' was not declared in this scope
>  emit authorChanged();
>  ^
> 
> 
> 

my code is 

```
#ifndef MESSAGE_H 
#define MESSAGE_H
#include <QObject>
class Message : public QObject
{
Q_OBJECT
Q_PROPERTY(QString author READ author WRITE setAuthor NOTIFY authorChanged)
public:
    void setAuthor(const QString &a) {
        if (a != m_author) {
            m_author = a;
            emit authorChanged();
        }
    }
    QString author() const {
        return m_author;
    }
private:
    QString m_author;
};
#endif

```

and in my main.cpp

```
#include "message.h"
#include <QApplication>
#include <QQmlEngine>
#include <QQmlContext>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QQmlEngine engine;
    Message msg;
    engine.rootContext()->setContextProperty("msg",&msg);
    QQmlComponent component(&engine, QUrl::fromLocalFile("main.qml"));
    component.create();

    return a.exec();
}

```