如何正确解决"未定义的vtable引用"错误?

Nek*_*eko 1 c++ qt constructor vtable

我已经阅读了常见问题和其他几个网站,但我似乎找不到合适的解决方案.我很确定你之前已经听过这个问题了,如果可能的话,我想就如何解决这个问题寻求具体的帮助.

具体错误是:错误:未定义引用`vtable for FGui'它始终指向fgui.cpp中的构造函数,但我没有看到任何可能出错的内容.

FGui是一个继承自名为"FFoo"的类的类,它继承自QMainWindow.相关代码:

(在ffoo.h :)

class Ffoo : public QMainWindow
{
Q_OBJECT
public:
    Ffoo();
    ~Ffoo();
    (...)
};
Run Code Online (Sandbox Code Playgroud)

(在ffoo.cpp :)

Ffoo::Ffoo()
{
    textEdit = 0;
    tcpSock = 0;
    setupConnectBox();
}

Ffoo::~Ffoo()
{}
Run Code Online (Sandbox Code Playgroud)

FGui文件仍然很简单,因为我最近才开始上课.

(fgui.h :)

class FGui : public Ffoo
{
    Q_OBJECT
public:
    FGui();
    ~FGui();
};
Run Code Online (Sandbox Code Playgroud)

(fgui.cpp :)

FGui::FGui() : Ffoo()
{}

FGui::~FGui()
{}
Run Code Online (Sandbox Code Playgroud)

如果有人能告诉我该如何解决这个问题,我将非常感激.提前致谢.:)

Vla*_*mir 5

尝试重新运行qmake.如果你使用Qt Creator,清理项目(Build/Clean All),然后选择Build/Run qmake.这通常有助于这种情况.