2011-12-03 63 views
2

編譯QT項目我嘗試編譯視覺2010 Qt的項目,但我有一些鏈接錯誤,當我重建我的解決方案:經過一番「googlize」鏈接錯誤視覺2010

error LNK2001: unresolved external symbol "public: virtual int __thiscall BNetwork::qt_metacall(enum QMetaObject::Call,int,void * *)" on bnetwork.obj 
error LNK2001: unresolved external symbol "public: virtual int __thiscall Contact::qt_metacall(enum QMetaObject::Call,int,void * *)" on contact.obj 
error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall BNetwork::metaObject(void)const " on bnetwork.obj 
error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall Contact::metaObject(void)const " on contact.obj 
error LNK2001: unresolved external symbol "public: virtual void * __thiscall BNetwork::qt_metacast(char const *)" on bnetwork.obj 
error LNK2001: unresolved external symbol "public: virtual void * __thiscall Contact::qt_metacast(char const *)" on contact.obj 

我不找到一些關於這個問題的解決方案,所以 我把我所有的Qt庫放在c:/QT/4.7.4/lib/對我的項目的附加依賴關係,但我總是有這些錯誤...

我敢肯定Qt是建立和安裝在視覺上,因爲當我編譯下面的代碼(這是一個例子,不是我的項目),它工作正常:

#include <QtGui/qapplication.h> 
#include <QtGui/qpushButton.h> 

int main(int argc, char *argv[]) 
{ 
    QApplication app(argc, argv); 

    QPushButton bouton("Bonjour les Zéros !"); 
    bouton.show(); 

    QObject::connect(&bouton, SIGNAL(clicked()), &app, SLOT(quit())); 

    return app.exec(); 
} 

我沒有這些錯誤,所以我認爲這是具體到我的項目,但我沒有找到一個解決方案

任何人都可以幫助我PLZ?

+0

您是否構建QT? – FailedDev

+0

是啊我用nmake(= 4h)構建qt並在視覺上安裝Qt插件。我編輯我的帖子 –

+0

問題解決了!我做了'moc -I「%QTDIR%\ include」-I「%QTDIR%\ include \ QtCore」-I「%QTDIR%\ include \ QtGui」-omoc_contact.cpp contact.h'和'bnetwork上的相同。 h'。在此之後,我在我的項目中添加了新的.cpp文件,它起作用! –

回答

0

問題解決!我做moc -I「%QTDIR%\ include」 -I「%QTDIR%\ include \ QtCore」-I「%QTDIR%\ include \ QtGui」-omoc_contact.cpp contact.h和bnetwork.h上的相同。在這之後,我在我的項目中添加了新的.cpp 文件,它起作用!感謝@Yumino :)