[Qt解错篇]报错:error: undefined reference to vtable for ClassName

一、问题描写叙述:

编译project时报错:error: undefined reference to vtable for ClassName。如图示:



二、问题分析:

造成这样的错误的原因非常多,甚至在纯C++编程过程中也可能出现。

以下依据自己情况,详细问题详细分析。

原因:在原先没有Q_OBJECTkeyword的project中加入了该keyword,可是没有运行qmake,直接编译导致出现该错误。


三、样例:

原先project的类建立:

class CAppConfig
{
public:
    CAppConfig(void);
    CAppConfig(const CAppConfig &);
    CAppConfig &operator = (const CAppConfig &);
    void setDefault(void);
    .......
};

后来在该类中增加了Q_OBJECT,例如以下:

class CAppConfig
{
    Q_OBJECT
public:
    CAppConfig(void);
    CAppConfig(const CAppConfig &);
    CAppConfig &operator = (const CAppConfig &);
    void setDefault(void);
    .......
};
要避免错误。先qmake,再build:



原文地址:https://www.cnblogs.com/wgwyanfs/p/7103563.html