文章插图
这个错误是因为 MOC 生成的代码最终要用回到我们的程序中的,但代码文件没有包含这些代码 。所以你看上面已经提示你了,解决方法是包含 main.moc 。这个文件名和你定义 DemoObject 类的代码文件名相同 。我刚刚的代码文件是 main.cpp,所以它生成的代码文件就是 main.moc 。
不过,#include 指令一定要写在 DemoObject 和 TestRecver 类的定义之后,这样才能正确放入生成的代码 。# include 放在文件头部仍然会报错的,此时,DemoObject 和 TestRecver 类还没有定义,无法将 main.moc 中的源代码插入到 main.cpp 中(会找不到类) 。
#include <iostream>#include <qobject.h>#include <qstack.h>class DemoObject : public QObject{// 这个是宏Q_OBJECT……};class TestRecver : public QObject{// 记得用这个宏Q_OBJECT……};#include "main.moc"int main(int argc, char **argv){……return 0;}
经验总结扩展阅读
- 尊嘟假嘟是什么意思网络用语
- 四十八 SpringCloud微服务实战——搭建企业级开发框架:【移动开发】整合uni-app搭建移动端快速开发框架-使用第三方UI框架
- Spring Retry 重试
- 冰箱怎么使用省电 积少成多省钱秘诀
- 生化环材是什么意思网络用语
- 水果分公母吗 常见水果副作用一览
- OLED智能电视好用吗 创维索尼和飞利浦OLED智能电视推荐
- 用唐诗取女孩名字 精选用唐诗取女孩名字
- 怎样选购家用梯子
- 老小区下水铸铁管漏水怎么办
