我在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 += ...
}