QT undefined reference to 'vtable for Test' Q_OBJECT

前两天在写测试程序的时候,直接把类定义在了cpp文件里面。如:

class Test
{
    Q_OBJECT
public:

private:

    int m_a;
};

在没有使用Test这个类时,进行编译没有问题,可是当我后面使用这个类时,就提示:undefined reference to 'vtable for Test'

在网上查了下资料,网友提示说与什么moc有关系,大致去浏览了一下,也不是很明白。

然后解决的办法就是:不要在cpp文件里面使用  Q_OBJECT 这个宏,可以把这个类的定义放h文件里面。如果非要在cpp里面使用,需要额外加点东西。具体加什么,我目前也没搞明白,先记录一下,有空再查下资料。

猜你喜欢

转载自blog.csdn.net/a3121772305/article/details/85331538