Erreur: 'Qtmobility' n'est pas un nom d'espace de noms
-
14-11-2019 - |
Question
J'essaie de compiler: http://wiki.forum.nokia.com/index.php / fetching_a_map_tile_in_qt_us_google_maps
J'utilise QT-Mobility 1.2 avec Qt 4.7 sur OpenSUSE 11.2
Les erreurs que je reçoivent sont:
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
Mon fichier .Pro contient:
TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
HEADERS += MainWindow.h
SOURCES += main.cpp MainWindow.cpp
QT += network
CONFIG += mobility
MOBILITY = location
L'erreur est rapportée dans le fichier d'en-tête, que j'ai montré comme suit:
#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;
}
veuillez guider.
La solution
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).
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow