Latest Qt and Qt mobility evaluation on Maemo
m (→QtSDK install) |
|||
| Line 12: | Line 12: | ||
=== QtSDK install === | === QtSDK install === | ||
| − | Download the mobility packages from maemo.org ([http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-bearer_1.1.1-0fn~ | + | Download the mobility packages from maemo.org ([http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-bearer_1.1.1-0fn~fremantle7_armel.deb bearer (legacy)], |
| − | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-contacts_1.1.1-0fn~ | + | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-contacts_1.1.1-0fn~fremantle7_armel.deb contacts], |
| − | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-declarative_1.1.1-0fn~ | + | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-declarative_1.1.1-0fn~fremantle7_armel.deb declarative], |
| − | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-dev_1.1.1-0fn~ | + | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-dev_1.1.1-0fn~fremantle7_armel.deb Headers (-dev)], |
| − | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-feedback_1.1.1-0fn~ | + | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-feedback_1.1.1-0fn~fremantle7_armel.deb feedback], |
| − | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-gallery_1.1.1-0fn~ | + | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-gallery_1.1.1-0fn~fremantle7_armel.deb gallery], |
| − | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-location_1.1.1-0fn~ | + | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-location_1.1.1-0fn~fremantle7_armel.deb location], |
| − | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-messaging_1.1.1-0fn~ | + | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-messaging_1.1.1-0fn~fremantle7_armel.deb messaging], |
| − | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-multimedia_1.1.1-0fn~ | + | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-multimedia_1.1.1-0fn~fremantle7_armel.deb multimedia], |
| − | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-organizer_1.1.1-0fn~ | + | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-organizer_1.1.1-0fn~fremantle7_armel.deb organizer], |
| − | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-publishsubscribe_1.1.1-0fn~ | + | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-publishsubscribe_1.1.1-0fn~fremantle7_armel.deb publishsubscribe], |
| − | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-sensors_1.1.1-0fn~ | + | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-sensors_1.1.1-0fn~fremantle7_armel.deb sensors], |
| − | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-serviceframework_1.1.1-0fn~ | + | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-serviceframework_1.1.1-0fn~fremantle7_armel.deb serviceframework], |
| − | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-systeminfo_1.1.1-0fn~ | + | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-systeminfo_1.1.1-0fn~fremantle7_armel.deb systeminfo], |
| − | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-versit_1.1.1-0fn~ | + | [http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility11/libqtm-11-versit_1.1.1-0fn~fremantle7_armel.deb versit]) |
Open a shell prompt and go to the directory with the downloaded files and install them into your rootstrap with: | Open a shell prompt and go to the directory with the downloaded files and install them into your rootstrap with: | ||
Revision as of 13:07, 15 March 2011
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
Contents |
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
(or, if you are installing them all at once)
for i in `ls libqtm*deb` do ; ~/QtSDK/Maemo/4.6.2/bin/mad-admin xdpkg -i $i ; done
Windows
\path\to\your\QtSDK\Maemo\4.6.2\wbin\mad-admin.exe xdpkg -i filename.deb
(or, if you are installing them all at once)
for /f %%a IN ('dir /b *.deb') do call C:\QtSDK\Maemo\4.6.2\wbin\mad-admin xdpkg -i %%a
(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
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)

