# Latest Qt and Qt mobility evaluation on Maemo

Regardless of the Qt and Qt Mobility versions provided by the Maemo5 firmware, an evaluation build of the latest Qt and Qt Mobility is available from the Extras-devel repository. These libraries cannot be used for publishing software to Ovi (or promoted to Extras) nor do they come with any warranty, but are good for evaluating real-life performance and behavior. The components that are part of this initiative are labeled with experimental in their package names. They are installed in parallel to the Maemo5 libraries, so they pose minimal danger to your existing install and do not affect stable software written for Maemo.

NOTE: All the packages referenced are found in extras-devel

# Qt Mobility 1.1.1

Both QtSDK and Scratchbox environments are supported. Use the one you're more familiar with.

### QtSDK install

Download the mobility packages from maemo.org (bearer (legacy), contacts, declarative, Headers (-dev), feedback, gallery, location, messaging, multimedia, organizer, publishsubscribe, sensors, serviceframework, systeminfo, versit)

Open a shell prompt and go to the directory with the downloaded files and install them into your rootstrap with:

Linux

/path/to/your/QtSDK/Maemo/4.6.2/bin/mad-admin xdpkg -i filename.deb


Windows

\path\to\your\QtSDK\Maemo\4.6.2\wbin\mad-admin.exe xdpkg -i filename.deb


(yes, sadly, xpkg can install only one package at a time, so you will need to repeat this for each of them)

### Scratchbox install

Make sure extras-devel is enabled in you repositories, and do

apt-get update
apt-get install libqtm-11-dev


### Install on actual device

apt-get install libqtm-11


### Usage

For Qt to know which mobility version to use, you will need to specify the following

maemo5 {
CONFIG += mobility11
} else {
CONFIG += mobility
}


in your projects .pro file (instead of CONFIG += mobility). For help and discussion about this version, see the maemo.org community developer thread. Note that you don't have to have to add the config option if you are just using the QML bindings.

Status:

(Ville) Confirmed to work: Multimedia ("player" demo can stream rtsp video, full screen works)

(Ville) Confirmed to work: QmlMapViewer example with qtm-12 ("import QtMobility.location 1.1", Map, MapCircle, MapMouseArea). Does *not* work with qtm-11.

# Qt Mobility 1.2.0 tech preview

It is used in an analogous way to libqtm-11:

apt-get install libqtm-12-dev


in scratchbox and

apt-get install libqtm-12


on the device, and in you .pro file you need:

maemo5 {
CONFIG += mobility12
} else {
CONFIG += mobility
}


NOTE: The 1.2 release is in a TECH PREVIEW status. APIs can change and/or break without notice.

# Using the libraries from QML

If you want to use the QML components of Qt Mobility, you have to add their paths to the QML search path. For the qmlviewer application, you can use the
-I /opt/qtm11/imports
command line parameter. In C++, you can do something like this:
viewer.engine()->addImportPath(QString("/opt/qtm11/imports"));


For Qt Mobility 1.2, just replace "qtm11" with "qtm12" in the above text. If you are using PySide, you can achieve the same using:

viewer.engine().addImportPath('/opt/qtm11/imports')


Again, replace "qtm11" with "qtm12" if you are using Qt Mobility 1.2.

# Qt 4.8

libqt4-experimental

apt-get install libqt4-experimental-dev


To use this version, you have to either call its qmake with

/opt/qt48/bin/qmake my-project.pro


or, if you are using the Nokia Qt SDK, add it as a alternate Qt version

NOTE: Qt 4.8 will receive it's first public binary release when it reaches at least the Tech Preview phase (until then the APIs are changing too quickly for public releases to make sense)

109 page views in the last 30 days.