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