QT 5.2意外的外部符号



我在Linux上使用QT 4.7和QXMPP 0.7.6进行了项目,所有这些都很好我在Windows上安装了QT 5.2,编译了QXMPP并安装了它,它已成功完成,并在 C:QtQt5.2.05.2.0msvc2010includeqxmpp dir,似乎一切都很好我从Linux复制了项目,更改了QXMPP的Eppath,因此现在适合Windows并运行QMAKE,没问题但是当我想运行它时,我得到了122个错误,看起来像这样:

mainwindow.obj:-1: error: LNK2019: unresolved external symbol “__declspec(dllimport) public: virtual __thiscall QXmppCallManager::~QXmppCallManager(void)” (__imp_??1QXmppCallManager@@UAE@XZ) referenced in function “public: virtual __thiscall MainWindow::~MainWindow(void)” (??1MainWindow@@UAE@XZ)

所有错误均用于QXMPP类

这是我的.pro文件

INCLUDEPATH += "C:QtQt5.2.05.2.0msvc2010includeqxmpp"
 
QT       += core gui network xml multimedia widgets
 
TARGET = IM-client
TEMPLATE = app
 
 
SOURCES += main.cpp
#more sources etc

任何想法是什么是由?

引起的

您没有将项目链接到QXMPP库。我不知道即使在没有LIBS += ...线的情况下,它也可以在Linux下进行编译。

我的赌注是:您已切断LIBS行,该行是在Linux编译中留下的,并且在Windows上没有意义。您需要像includepath一样调整它。

您可能还需要为两个平台都有单独的设置,因此您不必不断调整项目文件:

win32 {
  INCLUDEPATH += ...
  LIBS += ...
}
unix {
  INCLUDEPATH += ...
  LIBS += ...
}

相关内容

  • 没有找到相关文章

最新更新