我用qt4.7和qxmpp0.7.6在linux上做了一个项目,我在windows上安装了Qt5.2,编译了qxmpp并安装了它,它已经成功地完成并在C:\Qt\Qt5.2.0\5.2.0\msvc2010\include\qxmpp dir中完成,似乎都很好--我从linux复制了项目,更改了qxmpp的包含路径,使它适合现在的窗口并运行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:\Qt\Qt5.2.0\5.2.0\msvc2010\include\qxmpp"
QT += core gui network xml multimedia widgets
TARGET = IM-client
TEMPLATE = app
SOURCES += main.cpp\
#more sources etc你知道这是什么原因吗?
发布于 2014-01-21 17:53:04
您没有将项目链接到qxmpp库。我不知道在没有LIBS += ...行的情况下,它如何在linux下编译。
我敢打赌:您已经删除了LIBS行,这一行是从Linux编译中删除的,在Windows上没有意义。你需要调整它就像你为INCLUDEPATH所做的一样。
您还可能希望为两个平台设置单独的设置,这样您就不必不断地调整项目文件:
win32 {
INCLUDEPATH += ...
LIBS += ...
}
unix {
INCLUDEPATH += ...
LIBS += ...
}https://stackoverflow.com/questions/21264873
复制相似问题