私は 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