2015-05-20 39 views
1

我是Qt的新手。未定义的QDeclarativePropertyMap引用

Qml在将QDeclarativePropertyMap从C++传递给Qml时遇到了问题。

这里是我的代码:

的main.cpp

#include <QApplication> 
#include <QQmlApplicationEngine> 
#include <QQmlContext> 
#include <QtDeclarative/qdeclarativepropertymap.h> 
#include <QVariant> 

int main(int argc, char *argv[]) 
{ 
    QApplication app(argc, argv); 

    QQmlApplicationEngine engine; 
    ///giving error in below line 
    QDeclarativePropertyMap *m_propertymap = new QDeclarativePropertyMap(); 
    m_propertymap->insert("time" ,QVariant(QString("yet to do"))); 
    m_propertymap->insert("area" ,QVariant(QString("india"))); 
    engine.rootContext()->setContextProperty("M_propertymap", m_propertymap); 
    engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); 

    return app.exec(); 
} 

错误:

undefined reference to QDeclarativePropertyMap QObject

+0

什么线给错误? – MeanGreen

+0

@MeanGreen QDeclarativePropertyMap * m_propertymap = new QDeclarativePropertyMap(); – Jeggu

回答

0

使用QtQml/QQmlPropertyMap代替

undefined reference to QDeclarativePropertyMap QObject

是链接错误,因为你试图混合不同版本qtquick的

+0

感谢您的重播 – Jeggu