• 9152阅读
  • 6回复

Q_OBJECT的问题 [复制链接]

上一主题 下一主题
离线oaho
 

只看楼主 倒序阅读 楼主  发表于: 2010-04-06
我的程序中加入了Q_OBJECT,就会报错:
error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall SphereCut::metaObject(void)const " (?metaObject@SphereCut@@UBEPBUQMetaObject@@XZ)
error LNK2001: 无法解析的外部符号 "public: virtual void * __thiscall SphereCut::qt_metacast(char const *)" (?qt_metacast@SphereCut@@UAEPAXPBD@Z)
error LNK2001: 无法解析的外部符号 "public: virtual int __thiscall SphereCut::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@SphereCut@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
fatal error LNK1120: 3 个无法解析的外部命令

有谁知道怎么办?请教高手!急急急!
离线numen

只看该作者 1楼 发表于: 2010-04-08
qmake一下
欢迎访问我的blog:
http://www.cnblogs.com/baizx
离线oaho

只看该作者 2楼 发表于: 2010-04-08
问题已经解决啦!
离线tang_tsp
只看该作者 3楼 发表于: 2011-03-29
回 2楼(oaho) 的帖子
请问是如何解决的?
离线wangjiazhan

只看该作者 4楼 发表于: 2011-04-26
就是。也不说怎么解决的。。。。。
离线wangjiazhan

只看该作者 5楼 发表于: 2011-04-26
找到解决方法了,补充上啊。在.h文件属性里命令行加入
$(QTDIR)\bin\moc 文件名.h -o tmp\moc\release_mt_shared\要生成文件名.cpp。
并指定输出位置。然后编译该文件,将生产的文件包含进来
离线snfx
只看该作者 6楼 发表于: 2011-05-10
更简单的办法是注释掉 Q_OBJECT 然后 编译,编译完成后再去掉注释,重新编译就可以了。
快速回复
限100 字节
 
上一个 下一个