【问题标题】:link error compiling qt project on visual 2010在visual 2010上编译qt项目的链接错误
【发布时间】:2011-12-03 18:20:43
【问题描述】:

我尝试用 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

经过一些“谷歌搜索”后,我没有找到关于这个问题的解决方案,所以 我把我所有的 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();
}

我没有这些错误,所以我认为这是我的项目特有的,但我没有找到解决方案

谁能帮帮我?

【问题讨论】:

  • 是的,我用 nmake (= 4h) 构建 qt 并在视觉上安装 Qt 插件。我编辑我的帖子
  • 问题解决了!我在moc -I"%QTDIR%\include" -I"%QTDIR%\include\QtCore" -I"%QTDIR%\include\QtGui" -omoc_contact.cpp contact.h 上做同样的事情bnetwork.h。在此之后,我在我的项目中添加了新的 .cpp 文件,它可以工作了!
  • 很高兴听到这个消息。发布并接受您的答案:)
  • 我不能,我没有声望等级。请问可以发个微信吗?
  • @Yumino 你不应该真的手动做,看看qmake。

标签: c++ visual-studio visual-studio-2010 qt compilation


【解决方案1】:

问题解决了!我做 moc -I"%QTDIR%\include" -I"%QTDIR%\include\QtCore" -I"%QTDIR%\include\QtGui" -omoc_contact.cpp contact.h 和 bnetwork.h 上的相同。在此之后我添加新的 .cpp 我的项目上的文件,它的工作原理!感谢@Yumino :)

【讨论】:

    猜你喜欢
    • 2012-02-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-30
    • 1970-01-01
    相关资源
    最近更新 更多