문제

컴파일하려고합니다 : http://wiki.forum.nokia.com/index.php / fetching_a_map_tile_in_qt_using_google_maps

Qt-Mobility 1.2를 사용하여 OpenSUSE 11.2 에서 Qt 4.7에서 사용하고 있습니다.

수신중인 오류는 다음과 같습니다.

MainWindow.h:7: error: ‘QtMobility’ is not a namespace-name
MainWindow.h:7: error: expected namespace-name before ‘;’ token
MainWindow.h:10: error: expected class-name before ‘{’ token
In file included from /opt/qtsdk-2010.05/qt/include/QtCore/qcoreapplication.h:47,
                 from /opt/qtsdk-2010.05/qt/include/QtGui/qapplication.h:45,
                 from /opt/qtsdk-2010.05/qt/include/QtGui/QApplication:1,
                 from main.cpp:2:
/opt/qtsdk-2010.05/qt/include/QtCore/qeventloop.h:51: error: expected initializer before ‘QtCoreModule’
make: *** [main.o] Error 1
.

내 .pro 파일이 들어 있습니다 :

TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .

HEADERS += MainWindow.h
SOURCES += main.cpp MainWindow.cpp

QT += network
CONFIG += mobility
MOBILITY = location
.

오류는 다음과 같이 표시된 헤더 파일에보고됩니다.

#include <QtNetwork/QNetworkAccessManager>
#include <QtNetwork/QNetworkReply>
#include <QPaintEvent>
#include <QPixmap>

using namespace QtMobility;

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow ();
    void paintEvent(QPaintEvent* paintEvent);

public slots:
    void handleNetworkData(QNetworkReply* reply);

private:
    void fetchMap(const QSize& size, qreal latitude, qreal longitude);

private:
    QNetworkAccessManager networkAccessManager;
    QPixmap mapPixmap;
}
.

안내하십시오.

도움이 되었습니까?

해결책

You'll need to include at least one QtMobility header to be able to use that namespace.

Also that using namespace declaration is not the recommended way anymore. Use:

 QTM_USE_NAMESPACE

instead (see QtMobility QuickStart).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top