View Full Version : Qt Necessitas for Android
jeyanthinatarajan
21st June 2012, 08:33
Hi Every one,
I got the following error while running qxmpp in qt necessitas
error: cannot find -lqxmpp
Please help me to find a solution...
Thanks & Regards,
Jeyanthi Natarajan
ChrisW67
21st June 2012, 09:38
Post your pro file
jeyanthinatarajan
21st June 2012, 10:19
Hi,
This is the QXmpp.pri file
# Common definitions
QT += network xml
QXMPP_VERSION = 0.4.0
QXMPP_INCLUDEPATH = $$PWD/src/base $$PWD/src/client $$PWD/src/server
CONFIG(debug, debug|release) {
QXMPP_LIBRARY_NAME = qxmpp_d
} else {
QXMPP_LIBRARY_NAME = qxmpp
}
# Libraries used internally by QXmpp
android|symbian {
} else:contains(MEEGO_EDITION,harmattan) {
# meego/harmattan has speex for sure
QXMPP_INTERNAL_DEFINES += QXMPP_USE_SPEEX
QXMPP_INTERNAL_LIBS += -lspeex
} else:symbian {
QXMPP_INTERNAL_INCLUDES = $$APP_LAYER_SYSTEMINCLUDE
QXMPP_INTERNAL_LIBS = -lesock
} else:win32 {
QXMPP_INTERNAL_LIBS = -ldnsapi -lws2_32
}
# Libraries for apps which use QXmpp
symbian {
# Symbian needs a .lib extension to recognise the library as static
QXMPP_LIBS = -l$${QXMPP_LIBRARY_NAME}.lib
} else {
QXMPP_LIBS = -l$${QXMPP_LIBRARY_NAME}
}
# Determine library type (lib or staticlib)
isEmpty(QXMPP_LIBRARY_TYPE) {
QXMPP_LIBRARY_TYPE = staticlib
}
contains(QXMPP_LIBRARY_TYPE,staticlib) {
# FIXME: we should be able to use the link_prl option to automatically pull
# in the extra libraries which the qxmpp library needs, but this does not
# seem to work on win32, so we specify the dependencies here:
QXMPP_LIBS += $$QXMPP_INTERNAL_LIBS
}
# Installation prefix and library directory
isEmpty(PREFIX) {
unix:PREFIX=/usr/local
}
isEmpty(LIBDIR) {
LIBDIR=lib
}
This is examples.pri
include(../qxmpp.pri)
TEMPLATE = app
CONFIG += console
INCLUDEPATH += $$QXMPP_INCLUDEPATH
LIBS += -L../../src $$QXMPP_LIBS
# Symbian packaging rules
symbian {
vendorinfo = \
"; Localised Vendor name" \
"%{\"QXmpp\"}" \
" " \
"; Unique Vendor name" \
":\"QXmpp\"" \
" "
examples_deployment.pkg_prerules += vendorinfo
DEPLOYMENT += examples_deployment
TARGET.CAPABILITY = "NetworkServices"
}
This is the Pro file
include(../examples.pri)
TARGET = GuiClient
TEMPLATE = app
SOURCES += main.cpp \
chatMsgGraphicsItem.cpp \
chatGraphicsScene.cpp \
chatGraphicsView.cpp \
chatDialog.cpp \
mainDialog.cpp \
rosterItemModel.cpp \
rosterItem.cpp \
rosterItemSortFilterProxyModel.cpp \
utils.cpp \
rosterListView.cpp \
searchLineEdit.cpp \
statusWidget.cpp \
signInStatusLabel.cpp \
statusAvatarWidget.cpp \
statusTextWidget.cpp \
statusToolButton.cpp \
vCardCache.cpp \
profileDialog.cpp \
capabilitiesCache.cpp \
accountsCache.cpp \
xmlConsoleDialog.cpp \
aboutDialog.cpp
HEADERS += chatMsgGraphicsItem.h \
chatGraphicsScene.h \
chatGraphicsView.h \
chatDialog.h \
mainDialog.h \
rosterItemModel.h \
rosterItem.h \
rosterItemSortFilterProxyModel.h \
utils.h \
rosterListView.h \
searchLineEdit.h \
statusWidget.h \
signInStatusLabel.h \
statusAvatarWidget.h \
statusTextWidget.h \
statusToolButton.h \
vCardCache.h \
profileDialog.h \
capabilitiesCache.h \
accountsCache.h \
xmlConsoleDialog.h \
aboutDialog.h
FORMS += mainDialog.ui \
chatDialog.ui \
statusWidget.ui \
profileDialog.ui \
xmlConsoleDialog.ui \
aboutDialog.ui
QT += network \
xml
RESOURCES += resources.qrc
wysota
21st June 2012, 15:17
Is /usr/local/lib in your library search path? Is libqxmpp.so present in that directory?
jeyanthinatarajan
22nd June 2012, 06:07
Hi,
Thanks for the reply wysota
I included the library file in /usr/local/lib but still i am getting the same error...
ChrisW67
22nd June 2012, 09:03
As far as I can tell your PRO file uses the default linker library path and a relative folder called "../../src" only (i.e. the LIBS -L options). Unless libqxmpp.so is installed in one of those locations (the relative location is prone to being not what you thought) then things will not be in the correct locations for include paths and libraries. If you have not installed qxmpp according to the README (http://code.google.com/p/qxmpp/source/browse/README) file in its source bundle then do so. If you used the defaults on a UNIX-like machine then is should be installed into /usr/local/lib, include etc. and often will Just Work.
Ultimately your PRO should only need:
QXMPP_PREFIX = /usr/local
INCLUDEPATH += $${QXMPP_PREFIX}/include
LIBS += -L$${QXMPP_PREFIX}/lib -lqxmpp
in order to use the library (and not the files you are copying form the actual qxmpp build).
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.