您的位置:首页 > Web前端

undefined reference to vtable for "xxx::xxx" in QT(已解决)

2015-02-09 15:37 477 查看
#PS:请尊重原创,不喜勿喷

#PS:要转载请注明出处,本人版权所有

#PS:这个只是  《  我自己    》理解,如果和你的原则相冲突,请

谅解,勿喷 

近日编译一个项目时,由于在错误状态下不小心编译一次了.当改了代码后(确认代码正确),在进行编译的时候,就会出现undefined reference to vtable for "xxx::xxx" .

看到这个错误,别慌,他不是一个语言级的错误,而是qt的编译机制引起的.首先,看你的程序中是不是有qt的不同于c++的特性(一般来说就是有没有Q_OBJECT的宏定义).如果没有,就按照标准的C++规则编译,如果有,那么那个部分就会先被生成一个.把标准的.cpp文件(并不替换原来的cpp,而是参与编译).然后在进行标准c++的编译工作.其实就是这个部分引起的错误.而这个部分也叫做元对象编译(MOC).

解决办法:删除build文件夹,切记删除整个文件夹.(这貌似是qt的一个bug,因为我全部重新编译,清除所有文件后在重新编译都是一样的错误)

#PS:请尊重原创,不喜勿喷

#PS:要转载请注明出处,本人版权所有

有问题请留言,看到后我会第一时间回复
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: