• 7780阅读
  • 2回复

[讨论]VC2010下QT编译错误,求助! [复制链接]

上一主题 下一主题
离线science
 
只看楼主 倒序阅读 楼主  发表于: 2011-05-14
我在VC2010下使用编译QT的程序时出现如下的错误


Error    5    error LNK1120: 4 unresolved externals    C:\Users\hello\Desktop\MyProject\Release\MyProject.exe    MyProject
Error    4    error LNK2001: unresolved external symbol "public: static struct QMetaObject const ImageViewer::staticMetaObject" (?staticMetaObject@ImageViewer@@2UQMetaObject@@B)    C:\Users\hello\Desktop\MyProject\MyProject\imageviewer.obj    MyProject
Error    1    error LNK2001: unresolved external symbol "public: virtual int __thiscall ImageViewer::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@ImageViewer@@UAEHW4Call@QMetaObject@@HPAPAX@Z)    C:\Users\hello\Desktop\MyProject\MyProject\imageviewer.obj    MyProject
Error    3    error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall ImageViewer::metaObject(void)const " (?metaObject@ImageViewer@@UBEPBUQMetaObject@@XZ)    C:\Users\hello\Desktop\MyProject\MyProject\imageviewer.obj    MyProject
Error    2    error LNK2001: unresolved external symbol "public: virtual void * __thiscall ImageViewer::qt_metacast(char const *)" (?qt_metacast@ImageViewer@@UAEPAXPBD@Z)    C:\Users\hello\Desktop\MyProject\MyProject\imageviewer.obj    MyProject



不知道如何解决,请高手们帮助解决。


这个错误好像与QMetaObject有关。
我使用的是QT4.7.3,在VC2010下重新编译了生成动态和静态链接库。
在程序工程中我已经包含了所有的bin、include、lib等路径,并且包含了所有的lib文件。
[ 此帖被science在2011-05-14 13:19重新编辑 ]
离线dbzhang800

只看该作者 1楼 发表于: 2011-05-14
解决起来很简单。原因就是你没有把 moc 生成的文件(或者你没有生成该文件)一块编译链接。


http://hi.baidu.com/cyclone/blog/item/8f8f08fa52d22f8758ee9006.html
离线science
只看该作者 2楼 发表于: 2011-05-14
哈哈,问题解决了!
多谢你提供的方法。
[ 此帖被science在2011-05-14 16:40重新编辑 ]
快速回复
限100 字节
 
上一个 下一个