簡體   English   中英

Visual 2010上的鏈接錯誤編譯qt項目

[英]link error compiling qt project on visual 2010

我嘗試使用Visual 2010編譯一個qt項目,但是當我重建解決方案時出現一些鏈接錯誤:

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

經過一些“ googlize”之后,我沒有找到有關此問題的解決方案,因此我將所有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();
}

我沒有這些錯誤,所以我認為這是特定於我的項目的,但是我沒有找到解決方案

有人可以幫助我嗎?

問題解決了 ! 我做moc -I“%QTDIR%\\ include” -I“%QTDIR%\\ include \\ QtCore” -I“%QTDIR%\\ include \\ QtGui” -omoc_contact.cpp contact.h,在bnetwork.h上也一樣。 之后,我將新的.cpp文件添加到我的項目中,並且可以正常工作! 感謝@Yumino :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM