erro:'QtMobility' não é um espaço de nomes-nome
-
14-11-2019 - |
Pergunta
Eu estou tentando compilar: http://wiki.forum.nokia.com/index.php/Fetching_a_map_tile_in_Qt_using_Google_Maps
Eu estou usando Qt-Mobilidade 1.2 com Qt 4.7 no OpenSuse 11.2
Os erros eu estou recebendo são:
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
O meu .pro ficheiro contém:
TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
HEADERS += MainWindow.h
SOURCES += main.cpp MainWindow.cpp
QT += network
CONFIG += mobility
MOBILITY = location
O erro é relatado no arquivo de cabeçalho, que eu tenho mostrado como segue:
#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;
}
Por favor, guia.
Solução
Você precisa incluir pelo menos um QtMobility
cabeçalho para ser capaz de usar esse espaço de nomes.
Também que using namespace
declaração não é a maneira recomendada de mais.Utilização:
QTM_USE_NAMESPACE
em vez disso, a QtMobility Guia De Início Rápido).
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow