Как решить ошибку LNK2001: неразрешенный внешний символ? - PullRequest
0 голосов
/ 12 января 2012

Я новичок в Qt, и сейчас я разрабатываю простое приложение для Visual Studio 2008, и при создании кода возникают следующие ошибки:

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

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

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

 error LNK2001: unresolved external symbol "public: static struct QMetaObject const Window::staticMetaObject" (?staticMetaObject@Window@@2UQMetaObject@@B)

 fatal error LNK1120: 4 unresolved externals

Как я могу устранить эти ошибки?

1 Ответ

0 голосов
/ 01 февраля 2012

Вам нужно запустить moc.exe для ваших заголовочных файлов, которые используют макрос Q_OBJECT или наследуют от QObject. Для простоты просто установите этот qt vs addin , и он добавит все для вас. Вам, вероятно, потребуется создать новый проект.

...