00. 目录
01. 问题描述
编译Qt项目的时候,出现undefined reference to vtable for ToolButton
,意思是指定的控件的虚表没有定义。
02. 问题分析
QT中支持信号与槽机制,需要继承自QObject并在头文件开头添加Q_OBJECT宏.如果使用QtCreator
创建类时,没有选择继承自QObject类或其子类,而在创建后手工修改继承自QObject并手工添加Q_OBJECT宏,则在编译时有可能会出现"undefined reference to `vtable for’…"错误。
03. 问题解决
方法一:重新构建,然后再执行。
方法二:将新创建的类从项目中移除,然后再添加进功能,QtCreator就会重新解析此类,再编译就不再会出现上述错误。
方法三:qtcreator有时候有些小小问题,可以手动删除编译生成的中间文件,重新编译;
04. 预留
05. 附录
5.1 Qt教程汇总
网址:https://dengjin.blog.csdn.net/article/details/115174639