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。

這樣的話,在每個子目錄裏面,就可以看到編譯出來的對應的可執行文件了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章