Q_OBJECT 报错问题
来源:互联网 发布:陕西省大数据产业联盟 编辑:程序博客网 时间:2024/06/05 21:56
进入分别进入src和其父目录qmake一下
问题:某一个类中如果加入Q_OBJECT后,则link时提示:undefined reference to vtable for "xxx::xxx".删掉它则没有任何问题.
解决:尝试(1):把所有的obj文件和uic文件删除,重新编译.仍然失败.
去trolltech的mail lists找到原因: 因为qmake生成Makefile的时候,这个类的头文件中并没有Q_OBJECT,所以在相应的Makefile里面并没有用moc xxx.h命令,最终导致链接失败.重新运行qmake,问题解决.
在查找解决方法的时候,附带发现一点:
qmake不会处理.cpp文件里的Q_OBJECT,所以,如果在.cpp文件中有它的话,也会产生undefined reference to vtable for "xxx::xxx". 这时,需要先用moc xxxx.cpp生成相应的moc文件,再包含到.cpp里面去,才能解决这个问题.
3. 看Qt的reference发现: 可以connect(pObjA, SIGNAL(someSignalA()),pObjB,SIGNAL(someSignalB()));这样pObjA发出的someSingalA 会导致pObjB发出someSignalB,从而形成信号接力.
内容转自:http://blog.sina.com.cn/s/blog_3cba7ec10100fa1f.html
- Q_OBJECT 报错问题
- qt添加Q_OBJECT报错
- QT5.8加Q_OBJECT报错解决
- Q_OBJECT问题
- Q_OBJECT
- Q_OBJECT
- Q_OBJECT undefined reference to 问题
- 【Qt】Q_OBJECT宏,编译报错,解决办法(多继承Object情况下)
- QT中添加Q_OBJECT出现的问题
- QT中添加Q_OBJECT出现的问题
- QT中添加Q_OBJECT出现的问题
- QT中添加Q_OBJECT出现的问题
- QT中添加Q_OBJECT和继承QObject出现的问题
- QT 添加自定义类中使用Q_OBJECT宏问题
- Qt 中 Q_OBJECT与no such slot的问题
- 宏Q_OBJECT
- Q_OBJECT 作用
- Q_OBJECT 宏
- 备忘录-布局居中
- dm365key_scan驱动按键无响应的解决方法(转)
- Linux网络编程中的地址问题
- Prolog 模拟 Turing Machine
- 图形用户界面(GUI)应用程序(第五课)
- Q_OBJECT 报错问题
- LINUX 2.6.37内存管理 SLAB分析之(1)SLAB初始化
- 关于FileUpload控件选择文件时触发显示图像事件在IE7以上版本中不显示的问题
- python中xrange和range的异同
- LINUX 2.6.37内存管理 SLAB分析之(2)SLAB缓冲创建与销毁
- 20130128-LUACOM-IDL-VBS
- LINUX 2.6.37内存管理 SLAB分析之(3)SLAB对象分配与释放
- fedor安装w3m,并在emacs下使用,以及w3m的快捷键
- Linux网络编程