Question

I made project on linux with qt 4.7 and qxmpp 0.7.6, all works good I installed Qt 5.2 on windows, compiled qxmpp and installed it, it has finished successfully and is in C:\Qt\Qt5.2.0\5.2.0\msvc2010\include\qxmpp dir, seems all went good I copied project from linux, changed includepath for qxmpp so it suits windows now and run qmake, no problem but when I wanted to run it i got 122 errors all look like this:

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)

all errors are for qxmpp classes

here is my .pro file

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

any idea what can be this caused by?

Was it helpful?

Solution

You're not linking your project with the qxmpp library. I don't have any idea how it can compile even under linux without having the LIBS += ... line present.

My bet is: you've cut out the LIBS line, and that line is left from the Linux compilation, and doesn't make sense on Windows. You need to adjust it just like you did for INCLUDEPATH.

You may also want to have separate settings for both platforms, so that you don't have to continuously tweak the project file:

win32 {
  INCLUDEPATH += ...
  LIBS += ...
}
unix {
  INCLUDEPATH += ...
  LIBS += ...
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top