【问题标题】:Error when trying to use a shared library in a qml file尝试在 qml 文件中使用共享库时出错
【发布时间】:2015-06-06 09:41:35
【问题描述】:

我正在尝试在 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

【问题讨论】:

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


    【解决方案1】:

    您已声明私有QObject 继承。改为:

    class PLAYERSHARED_EXPORT Player : public QObject
    

    【讨论】:

      猜你喜欢
      • 2021-01-10
      • 1970-01-01
      • 2019-12-04
      • 2021-08-26
      • 1970-01-01
      • 2021-04-17
      • 1970-01-01
      • 2011-08-19
      • 1970-01-01
      相关资源
      最近更新 更多