tracker0.9.8以及libqttracker的配置编译

转载时请注明出处和作者联系方式
文章出处:http://blog.csdn.net/jack0106
作者联系方式:冯牮
[email protected]

 

一  配置编译tracker-0.9.8

我使用的版本是tracker-0.9.8,我的配置脚本是(安装在了/usr目录):

./configure --prefix=/usr --enable-taglib --enable-gcov --enable-unit-tests --enable-gstreamer-tagreadbin --enable-gdkpixbuf --enable-video-extractor=gstreamer --enable-gstreamer-helix --enable-gnome-keyring --enable-network-manager --enable-miner-evolution --enable-tracker-status-icon --enable-tracker-explorer --enable-tracker-search-bar --enable-tracker-search-tool --enable-tracker-preferences --enable-poppler --enable-libexif --enable-libiptcdata --enable-libgsf --enable-libgif --enable-libjpeg --enable-libtiff --enable-libvorbis --enable-libflac --enable-exempi --enable-playlist --enable-nautilus-extension --enable-maemo

此配置脚本的目的是让tracker尽量支持更多的特性,请根据各自的配置结果,安装依赖文件,然后重新配置,直到配置通过为止。

这样得到的配置结果如下:

Build Configuration:

Prefix: /usr
Source code location: .
Compiler: gcc
Compiler Warnings: no

Win32: no

Enable gtk doc (for documentation): no

Enable functional tests: yes
Enable unit tests: yes

Support for ioprio: yes
Support for HAL: no
Support for UPower: no
Support for file monitoring: libinotify
Support for accent stripping (unac): no
Support for Cyrillic languages (enca): no
Support for network status detection: yes
Unicode support library: glib

Applications:

Build with SQLite FTS support: yes

Build tracker-search-tool: yes
Build tracker-preferences: yes
Build tracker-status-icon: yes
Build tracker-explorer: yes
Build tracker-search-bar: yes

Metadata Extractors:

Support libstreamanalyzer: no (disabled)
Support PNG: yes
Support PDF: yes
Support GIF: yes (xmp: yes)
Support JPEG: yes (xmp: yes, exif: yes, iptc: yes)
Support TIFF: yes (xmp: yes, exif: yes, iptc: yes)
Support Vorbis (ogg/etc): yes
Support Flac: yes
Support MS & Open Office: yes
Support XML / HTML: yes
Support embedded / sidecar XMP: yes
Support video formats: yes (GStreamer) (tagreadbin: yes)
Support helix formats (RPM/RM/etc): yes
Support MP3 album art: yes (GdkPixbuf )
Support playlists (w/ Totem): yes

Data Miners:

RSS: no
Evolution: yes (/usr/lib/evolution/2.28/plugins)
KMail: yes
Flickr: no

Plugins:

Nautilus: (tagging widget) yes

Writeback:

Audio files using Taglib: no
XMP: yes

Frameworks:

Support Maemo yes

Warning:

You must make sure SQLite is compiled with --enable-threadsafe

 

二  libqttracker的配置编译

前提:我的PC上,tracker安装在了/usr目录,Qt-4.7安装在了/usr/local/Trolltech/Qt-4.7.0目录(ubuntu10.04,系统自带的qt,是4.6版本的)

1. 从git://gitorious.org/maemo-af/libqttracker.git下载最新的qttracker代码。

2. 进入目录libqttracker,打开文件projects.pro,搜索其中的SUBDIRS字段,修改成如下形式:

#SUBDIRS = src tests

SUBDIRS = src

3. 我的Qt-4.7被安装在了/usr/local/Trolltech/Qt-4.7.0目录,我希望qttracker使用qt-4.7库,并且安装到/usr/local/Trolltech/Qt-Tracker目录,所以,执行如下命令:

QTDIR=/usr/local/Trolltech/Qt-4.7.0/ /usr/local/Trolltech/Qt-4.7.0/bin/qmake PREFIX=/usr/local/Trolltech/Qt-Tracker

4. 执行make。

make执行完后,进入lib目录,执行ldd libqttracker.so,如果结果类似于如下:


fengjian@fengjian-ubuntu:~/my-work/base-lib/tracker/libqttracker/lib$ ldd libqttracker.so

linux-gate.so.1 > (0x00729000)

libuuid.so.1 > /lib/libuuid.so.1 (0x0082d000)

libQtDBus.so.4 => /usr/local/Trolltech/Qt-4.7.0/lib/libQtDBus.so.4 (0x00ea6000)

libQtXml.so.4 => /usr/local/Trolltech/Qt-4.7.0/lib/libQtXml.so.4 (0x00110000)

libQtCore.so.4 => /usr/local/Trolltech/Qt-4.7.0/lib/libQtCore.so.4 (0x0027d000)

libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0x0021d000)

libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00524000)

libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0x00239000)

libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00155000)

libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x00832000)

/lib/ld-linux.so.2 (0x00260000)

libz.so.1 => /lib/libz.so.1 (0x00e1a000)

libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0x00fe4000)

libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00174000)

librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0x0017a000)

libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x0061a000)

libpcre.so.3 => /lib/libpcre.so.3 (0x00183000)

libqttracker.so链接的qt库的路径是/usr/local/Trolltech/Qt-4.7.0/lib/libQtDBus.so.4,如果是这样的情况,则说明正确链接到qt-4.7版本了。

5. 执行make doc,可以生成文档。

6. 执行sudo make install。

执行此命令,会遇到这样的错误描述:make: [install_install_doc] 错误 1 (忽略)

可以忽略这个,然后检查一下/usr/local/Trolltech/Qt-Tracker目录,只要有qttracker的头文件和库就行了。

///////////////////////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////////////////////

7. 在代码中使用libqttracker库。使用libqttracker源码路径里面的example目录来进行说明。

7.1

执行ls,可以看到example里面有3个子文件夹:

fengjian@fengjian-ubuntu :~/my-work/base-lib/tracker/code-example/examples$ ls

contacts email examples.pro queries

7.2

进入每个子目录,分别编辑每个子目录里面的工程文件,搜索其中的LIBS字段,修改成如下形式:

#LIBS = -lqttracker

INCLUDEPATH + /usr/local/Trolltech/Qt-Tracker/include

LIBS + -L/usr/local/Trolltech/Qt-Tracker/lib -lqttracker

QMAKE_LFLAGS += -Wl,-rpath,/usr/local/Trolltech/Qt-Tracker/lib


7.3

在example目录里执行QTDIR=/usr/local/Trolltech/Qt-4.7.0/ /usr/local/Trolltech/Qt-4.7.0/bin/qmake

然后执行make。

这样的话,在每个子目录里面,就可以看到编译出来的对应的可执行文件了。

你可能感兴趣的:(sqlite,Build,documentation,compiler,Maemo,Warnings)