美文网首页
QT undefined reference to "vtabl

QT undefined reference to "vtabl

作者: QingLinger | 来源:发表于2017-03-02 19:37 被阅读0次
    undefined reference to "vtable for xxx"

      创建新的class时,可能会出现undefined reference to "vtable for xxx"这种错误提示,我为了多线程而创建了另一个类来使用的时候,就出现了这问题,说说我的解决步骤吧:

    1. 审视一下自己的语句有没有错误,我查书抄下的代码,除了名字(Network)不同以外,其他都是一致的。

    network.h
    #include <QThread>
    #include <QObject>
    class Network : public QThread
    {
    Q_OBJECT
    public:
    explicit Network(QObject *parent = 0);
    };
    network.cpp
    #include "network.h"
    Network::Network(QObject * parent) :
    QThread(parent)
    {}

    • 看一下.pro文件有没有包含所需的东西,它需要QT+=core,但是明显我已经有了。
    帮助->索引->搜索QThreat
    • 然后我突然发现一个问题,它这里写着继承QOject类,需要的时QThead头文件,那我包含QOject是不是把它覆盖了?
      然后我就把QOject删掉,然后就成功了!
    删除前,编译错误
    删除后,完美通过
    • 还遇到一种情况是,改了别的名字,比如开头大小写改了这样,那还是最好还是删了原来的,重新创建一个class,我试过,能成!

    总结:看看是否有包含了父类而把子类覆盖掉的情况,删掉父类试试!


    我的QT版本

    相关文章

      网友评论

          本文标题:QT undefined reference to "vtabl

          本文链接:https://www.haomeiwen.com/subject/myrkgttx.html