Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
Building QtJsonDb from Git
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine. Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean. |
English
[toc align_right="yes" depth="3"]
Building QtJsonDb from Git
Introduction
Todo.
System Requirements
QtJsonDb is one of the addons of Qt 5, hence before building qtjsondb you need to build dependent modules - qtbase, qtxmlpatterns, qtjsbackend and qtdeclarative. See Building_Qt_5_from_Git for more information.
At this moment the only supported platforms for qtjsondb are Linux and Mac OS X
Linux/X11
QtJsonDb depends on libedit and libicu(optionally):
QtJsonDb dependencies on Ubuntu/Debian:
sudo apt-get install libedit-dev
sudo apt-get install libicu-dev
QtJsonDb dependencies on Mandriva/ROSA/Unity:
urpmi 'pkgconfig(libedit)'
urpmi 'pkgconfig(libicu)'
Mac OS X
QtJsonDb depends on libicu(optionally).
Via HomeBrew
You need to have HomeBrew installed at first.
brew install icu4c
Via MacPorts
port install icu
Getting the source code
First clone the QtJsonDb git repository(for example, under
~/dev/git
):
git clone git://gitorious.org/qt/qtjsondb.git qtjsondb
h3. Current temporary patch
Only for enable collation feature based on whether ICU header files are available or not on Mac.
h4. Mac OS X
For HomeBrew users, patch this file or download the patch directly .
git am~/Downloads/0001-tmp-patch-for-add-path-for-icu-on-mac-with-brew.patch
For MacPorts users, patch this file or download the patch directly .
git am ~/Downloads/0001-tmp-patch-for-add-path-for-icu-on-mac-with-macports.patch
h2. Qmakeing and building
Now start to qmake and make a shadow build:
mkdir~/build/qtjsondb
cd ~/build/qtjsondb
~/build/qt5/qtbase/bin/qmake -o Makefile ~/dev/git/qtjsondb/qtjsondb.pro
If you have seen following output, then the ICU was enabled successfully:
Configuration tests:
icu: yes
libedit: yes
h2. How to run examples
Launch jsondb daemon in a terminal(the first):
cd~/dev/git/qtjsondb/examples/declarative
~/build/qt5/qtbase/bin/jsondb
Run the example code in another terminal(the second):
cd~/dev/git/qtjsondb/examples/declarative/simplelistmodel
~/build/qt5/qtbase/bin/qmlscene ./simplelistmodel.qml
If want to clean the db files after running(in the first terminal):
cd~/dev/git/qtjsondb/examples/declarative
rm *.db