尝试在qml文件中使用共享库时出错

时间:2015-06-06 09:41:36

标签: c++ qt dll shared-libraries qml

我正在尝试在QML文件中使用共享库。一切似乎都很好,但是当我编译时,我得到了这个错误:

  

错误:'QObject'是'Player'无法访问的基础

如果有人能帮助我,我真的很感激。感谢。

这是共享库的代码:
player.h

class PLAYERSHARED_EXPORT Player : QObject
{
    Q_OBJECT
    Q_PROPERTY(QString name READ getName WRITE setName NOTIFY nameChanged)
    QString name;
    Q_PROPERTY(QString id READ getId WRITE setId NOTIFY idChanged)
    QString id;

public:
    Player(QString name);
    const QString getName();
    void setName(const QString name);
    const QString getId();
    void setId(const QString id);

signals:
    void nameChanged();
    void idChanged();
};

.pro文件:

TEMPLATE = app
QT += qml quick widgets
SOURCES += main.cpp
RESOURCES += qml.qrc \
    resources.qrc
QML_IMPORT_PATH =
include(deployment.pri)
OTHER_FILES +=
unix|win32: LIBS += -L$$PWD/dlls/ -lplayer
INCLUDEPATH += $$PWD/dlls
DEPENDPATH += $$PWD/dlls

1 个答案:

答案 0 :(得分:2)

您已声明私有class PLAYERSHARED_EXPORT Player : public QObject 继承。改为:

1 file changed, 1 insertion(+), 1 deletion(-)
2 files changed, 10 insertions(+), 10 deletions(-)
1 file changed, 1 insertion(+)
1 file changed, 2 deletions(-)