首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Qt metaObject链接器问题

Qt metaObject链接器问题
EN

Stack Overflow用户
提问于 2011-07-11 01:56:37
回答 4查看 32.9K关注 0票数 21

在集成Qt和Vs并尝试编译.pro文件后,我得到了以下错误:

Error   9   error LNK2001: unresolved external symbol "public: virtual int __thiscall Multiplication_dialog::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@Multiplication_dialog@@UAEHW4Call@QMetaObject@@HPAPAX@Z)     

Error   7   error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall Multiplication_dialog::metaObject(void)const " (?metaObject@Multiplication_dialog@@UBEPBUQMetaObject@@XZ)  


    Error   8   error LNK2001: unresolved external symbol "public: virtual void * __thiscall Multiplication_dialog::qt_metacast(char const *)" (?qt_metacast@Multiplication_dialog@@UAEPAXPBD@Z)    

该如何处理这些内容?

EN

回答 4

Stack Overflow用户

发布于 2012-07-04 12:43:16

引用自“使用Qt4进行C++图形用户界面编程”一书(第19页):为了让moc正常工作,我们必须将类定义放在一个头文件中,独立于实现文件。所以,你需要为你的类写两个文件: Multiplication_dialog.h和Multiplication_dialog.cpp!而且你必须重新创建makefile!

票数 6
EN

Stack Overflow用户

发布于 2012-08-22 23:05:30

今天我可能也遇到了同样的问题。我知道这条线很老了。但它仍然可以帮助一些人。

在我的例子中发生的事情是moc生成了moc_ .cpp文件,但VC不知道它也必须编译它们。因此,我手动添加了那些moc生成的文件,以便它可以编译。而且它起作用了。

票数 4
EN

Stack Overflow用户

发布于 2014-12-25 20:02:56

当我为VS使用Qt插件时,同样的问题也发生了,我在构建之后看到了moc文件are not included into project。我将它们包含到项目中,这些错误已经消失了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6642823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档