저는 maemo 용 Qt 모바일 응용 프로그램을 만들기 위해 C++을 사용하고 있습니다.ISO C++은 ... 형식이없는 선언을 금지합니다.
나는 나의 클래스 선언을 가지고,하지만 난이 오류 얻을 :
ISO C++ forbids declaration of 'QGeoPositionInfoSource' with no type
다음 내 코드 :
phonehelper.h
#ifndef PHONEHELPER_H
#define PHONEHELPER_H
#include <QObject>
#include <QGeoPositionInfoSource>
class PhoneHelper : public QObject
{
Q_OBJECT
public:
explicit PhoneHelper(QObject *parent = 0);
void GetGPSData(const char * callbackSlot);
private:
/*
* The error occures here on the line below */
QGeoPositionInfoSource *gpsSource; // PROBLEM HERE
private slots:
void positionUpdated(const QGeoPositionInfo &info);
};
#endif // PHONEHELPER_H
phonehelper.cpp
을#include "phonehelper.h"
PhoneHelper::PhoneHelper(QObject *parent) :
QObject(parent)
{
}
PhoneHelper::GetGPSData(const char *callbackSlot)
{
gpsSource = QGeoPositionInfoSource::createDefaultSource(this);
if (gpsSource) {
connect(source, SIGNAL(positionUpdated(QGeoPositionInfo)),
this, SLOT(positionUpdated(QGeoPositionInfo)));
connect(source, SIGNAL(positionUpdated(QGeoPositionInfo)),
this, SLOT(callbackSlot(QGeoPositionInfo)));
gpsSource->startUpdates();
}
}
PhoneHelper::positionUpdated(const QGeoPositionInfo &info)
{
gpsSource->stopUpdates();
delete gpsSource;
}
Project.pro
DEPLOYMENTFOLDERS = # file1 dir1
symbian:TARGET.UID3 = 0xE0EEBE99
symbian:TARGET.CAPABILITY += NetworkServices
# MOBILITY variable.
CONFIG += mobility
MOBILITY += location
SOURCES += main.cpp mainwindow.cpp \
phonehelper.cpp
HEADERS += mainwindow.h \
phonehelper.h
FORMS += mainwindow.ui
include(deployment.pri)
qtcAddDeployment()
위의 오류가 무엇을 의미합니까?
같은 QtMobility 네임 스페이스를 사용했다는 것을 보지 못했다. 어떤 종류의 것이 중요합니다. – Jon
친애하는 Jon .. 빌드하는 동안 오류가 발생합니다. 그 파일은 내 .h 파일의'QGeoPositionInfoSource * gpsSource;'입니다 ... 정확한 오류 텍스트는 위에 표시됩니다 ... –
아마도'QGeoPositionInfoSource'는 일부 네임 스페이스에 있습니다. (죄송합니다. QT를 사용했습니다). 당신은 그것을 확인할 수 있습니다. –