VS2010& Q_OBJECT宏的LNK2001错误

时间:2016-01-20 11:05:45

标签: c++ qt

[Part of mainwindow.h file]

我正在使用VS2013 Express和Qt5.4.1版本。

我得到的错误是:

  

错误14错误LNK2001:未解析的外部符号“public:virtual struct QMetaObject const * __cdecl MainWindow :: metaObject(void)const”(?metaObject @ MainWindow @@ UEBAPEBUQMetaObject @@ XZ)C:\ Users \ Raf \ Documents \ Visual Studio 2013 \ Projects \ Diploma \ Diploma \ mainwindow.obj文凭

     

错误15错误LNK2001:未解析的外部符号“public:virtual void * __cdecl MainWindow :: qt_metacast(char const *)”(?qt_metacast @ MainWindow @@ UEAAPEAXPEBD @ Z)C:\ Users \ Raf \ Documents \ Visual Studio 2013 \ Projects \ Diploma \ Diploma \ mainwindow.obj文凭

     

错误16错误LNK2001:未解析的外部符号“public:virtual int __cdecl MainWindow :: qt_metacall(enum QMetaObject :: Call,int,void * *)”(?qt_metacall @ MainWindow @@ UEAAHW4Call @ QMetaObject @@ HPEAPEAX @ Z )C:\ Users \ Raf \ Documents \ Visual Studio 2013 \ Projects \ Diploma \ Diploma \ mainwindow.obj Diploma

     

错误17错误LNK2001:未解析的外部符号“public:static struct QMetaObject const MainWindow :: staticMetaObject”(?staticMetaObject @ MainWindow @@ 2UQMetaObject @@ B)C:\ Users \ Raf \ Documents \ Visual Studio 2013 \ Projects \文凭\文凭\ mainwindow.obj文凭

我看了一些类似的主题,但没有帮助我解决这个问题。

1 个答案:

答案 0 :(得分:3)

在我查看所有给出的答案后,我决定通过手动moc包含Q_OBJECT宏的.h文件来尝试解决问题。我随机搜索了最有效的步骤(至少对我而言)。

  1. 我的项目是在VS2013中制作的,但我将其改为VS2010。
  2. 我按照此链接中的步骤操作:http://real3d.pk/forum/index.php?topic=527.0