要再新建的类中使用信号槽,需要再class定义中添加Q_OBJECT,
但是,如果再遇到添加了Q_OBJECT后提示“vtable xxxx”错误,清理项目也不能解决问题。
后来再网上搜了一轮答案之后,发现,其实是QT的编译器本身不能识别Q_OBJECT,所以添加了
之后也不会生成moc_xxxx.cpp文件,所以这样就会出错。
解决方法很简单,重新用qmake构建一下即可。
再Windows上,删除buildxxxxx文件夹,然后打开后pro工程重新配置。即可解决。
本文介绍了解决在C++项目中使用Q_OBJECT宏导致的编译错误的方法。通常这种错误是因为编译器未能识别Q_OBJECT宏,进而无法生成moc文件。解决这一问题可以通过重新使用qmake构建项目或在Windows环境下删除build文件夹后重新配置项目来完成。
要再新建的类中使用信号槽,需要再class定义中添加Q_OBJECT,
但是,如果再遇到添加了Q_OBJECT后提示“vtable xxxx”错误,清理项目也不能解决问题。
后来再网上搜了一轮答案之后,发现,其实是QT的编译器本身不能识别Q_OBJECT,所以添加了
之后也不会生成moc_xxxx.cpp文件,所以这样就会出错。
解决方法很简单,重新用qmake构建一下即可。
再Windows上,删除buildxxxxx文件夹,然后打开后pro工程重新配置。即可解决。
3372
281
2019
5890

被折叠的 条评论
为什么被折叠?