QGeoPositionInfo не работает в QCoreApplication

Я пытаюсь получить обновления позиции в QCoreApplication. Ниже приведен код, который я пытаюсь, но я получаю сообщение об ошибке, как

QObject::connect: Cannot connect (null)::positionUpdated(QGeoPositionInfo) to QObject::positionUpdated(QGeoPositionInfo)

Код:

#include <QCoreApplication>
#include <QDebug>
#include <QObject>
#include <QtCore>


class MyClass : public QObject
{
//    Q_OBJECT
public:
    MyClass(QObject *parent = 0)
        : QObject(parent)
    {
        qDebug() << "In class";

        QGeoPositionInfoSource *source = QGeoPositionInfoSource::createDefaultSource(this);
        qDebug() << source;
            connect(source, SIGNAL(positionUpdated(QGeoPositionInfo)),
                    this, SLOT(positionUpdated(QGeoPositionInfo)));
            source->startUpdates();
    }

private slots:
    void positionUpdated(const QGeoPositionInfo &info)
    {
        qDebug() << "Position updated:" << info;
    }
};

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    qDebug("Qt running !");

    MyClass *objmyclass = new MyClass;

    return a.exec();
}

Если я раскомментирую Q_OBJECT, я получаю ошибку как:

:-1: error: the vtable symbol may be undefined because the class is missing its key function

0 ответов

Другие вопросы по тегам