之前遇到过一次,那次是加入Q_OBJECT后,link时提示:undefined reference to vtable for "xxx::xxx".删掉它则没有任何问题.此时重新运行qmake即可。详细情况网上有很多,不再复述,例如 http://blog.csdn.net/marlene0312/article/details/5783074。
这次删掉所有编译文件,重新运行qmake后执行编译,依然提示此错误。后来发现我的头文件与pro文件、cpp文件在不同的文件夹下,把.h和.cpp、.pro文件放在同一个文件夹下,重新qmake、编译。顺利通过。