Question

I'm trying to use the QJson library in an application that is being created in Qt Creator . The operating sytsem is Ubuntu 12.04 32-bit.

I used synaptic to install libqjson0 (0.7.1-6). The libary was installed in

/usr/lib/i386-linux-gnu/libqjson.so.0
/usr/lib/i386-linux-gnu/libqjson.so.0.7.1

I tried to add the library to Qt Creator by right clicking my project and selecting 'Add Library..'. When I entered either of the 2 paths shown above, the filename was in red indicating that it wasn't correct. I created a symlink libqjson.so that links to libqjson.so.0.7.1. I was able to add the library now using the /usr/lib/i386-linux-gnu/libqjson.so path.

Now for the noob question: At the top of the app I added #include <parser.h>. I get an error 'parser.h: No such file or directory. I searched /usr/libs/i386-linux-gnu for parser.h and it didn't return any results. Do I need to add something/ before parser.h or am I missing something else?

EDIT: .pro file attached below

#-------------------------------------------------
#
# Project created by QtCreator 2012-10-05T20:40:21
#
#-------------------------------------------------

QT       += core gui
QT       += network

TARGET = zf
TEMPLATE = app


SOURCES += main.cpp\
        zftest.cpp \
    api1_6.cpp

HEADERS  += zftest.h \
    api1_6.h

FORMS    += zftest.ui

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../../usr/lib/qt4/plugins/crypto/release/ -lqca-ossl
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../../../usr/lib/qt4/plugins/crypto/debug/ -lqca-ossl
else:symbian: LIBS += -lqca-ossl
else:unix: LIBS += -L$$PWD/../../../../../../usr/lib/qt4/plugins/crypto/ -lqca-ossl

INCLUDEPATH += $$PWD/../../../../../../usr/lib/qt4/plugins/crypto
DEPENDPATH += $$PWD/../../../../../../usr/lib/qt4/plugins/crypto

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../../usr/lib/release/ -lqca
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../../../usr/lib/debug/ -lqca
else:symbian: LIBS += -lqca
else:unix: LIBS += -L$$PWD/../../../../../../usr/lib/ -lqca

INCLUDEPATH += $$PWD/../../../../../../usr/include
DEPENDPATH += $$PWD/../../../../../../usr/include

OTHER_FILES += \
    README.txt

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../../usr/lib/i386-linux-gnu/release/ -lqjson
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../../../usr/lib/i386-linux-gnu/debug/ -lqjson
else:symbian: LIBS += -lqjson
else:unix: LIBS += -L$$PWD/../../../../../../usr/lib/i386-linux-gnu/ -lqjson

INCLUDEPATH += $$PWD/../../../../../../usr/lib/i386-linux-gnu
DEPENDPATH += $$PWD/../../../../../../usr/lib/i386-linux-gnu
Was it helpful?

Solution

You also need libjson-dev package. It's common for deb based distributives to provide include files in *-dev packages.

After installing you'll find parser.h and other headers in /usr/include/qjson.

OTHER TIPS

These lines are missing in your .pro file:

INCLUDEPATH += folderwhereisinstalled/qjson/include

LIBS += -Lfolderwhereisinstalled/qjson/lib -lqjson
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top