100分求助~QT程序设计,加入宏Q_OBJECT后编译不成功

小白我刚学QT就遇到这么个问题错误:undefinedreferenceto`vtableforxxxx'怎么个意思啊?这个了类我声明的很简单,就是想在QPushButt... 小白我刚学QT就遇到这么个问题

错误:undefined reference to `vtable for xxxx'
怎么个意思啊?这个了类我声明的很简单,就是想在QPushButton的基础上加个信号,但是书上说,想要加信号就需要Q_OBJECT宏,所以就写成这样了
class anniu : public QPushButton
{
Q_OBJECT

anniu();
~anniu();
signals: void valuechange(int num);

};
为什么出错呢?求各位大神解答啊
似乎是需要添加一个moc文件。我是在ubuntu下用QT create建立的工程。用终端在工程下使用moc main.cpp之后,终端里出来了一大堆代码,但是工程文件夹里还是没有看见moc文件啊,请问怎么生成他呢?
展开
 我来答
Spacedoggy
2013-02-19 · TA获得超过192个赞
知道小有建树答主
回答量:214
采纳率:0%
帮助的人:215万
展开全部
直接qmake工程文件, 然后用Makefile就可以了, g++ moc ld都是全自动的. 定义过的函数在cpp里面要实现, 即使是空的也要写出来. 信号一定不要去写实现, 交给moc做
aijiangaa111
2013-04-09 · TA获得超过995个赞
知道小有建树答主
回答量:430
采纳率:87%
帮助的人:121万
展开全部
你把工程文件夹全部删了,然后重新构建一次就可以自动生成了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dtimes6
2013-02-16 · TA获得超过691个赞
知道小有建树答主
回答量:347
采纳率:0%
帮助的人:128万
展开全部
这个看起来是你的虚函数没有把实现写完。
建议检查有没有写
anniu::~anniu() {}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式