Upload
jamil-ahmed
View
219
Download
0
Embed Size (px)
Citation preview
8/3/2019 Qt for Symb Requiurments
1/16
Supported Platforms
The Qt team strives to provide support for the platforms most frequently used by Qt users. Wehave designed our internal testing procedure to divide platforms into three test categories (Tier 1,
Tier 2 and Tier 3) in order to prioritize internal testing and development resources so that themost frequently used platforms are subjected to our most rigorous testing processes.
Qt is supported on a variety of 32-bit and 64-bit platforms, and can usually be built on eachplatform with GCC, a vendor-supplied compiler, or a third party compiler. Although Qt may be
built on a range of platform-compiler combinations, only a subset of these are actively supported
by Nokia.
Information about the specific platforms Qt runs on, and the compilers used on each platform,can be found on the Platform and Compiler Notespage.
Tier 1 Platforms
All Tier 1 platforms are subjected to our unit test suite and other internal testing tools on a
frequent basis (prior to new version releases, source tree branching, and at other significantperiod points in the development process). Errors or bugs discovered in these platforms are
prioritized for correction by the development team. Significant errors discovered in Tier 1
platforms can impact release dates and Qt Development Frameworks strives to resolve all knownhigh priority errors in Tier 1 platforms prior to new version releases.
Platform Compilers
Linux (32 and 64-bit) gcc 4.2
Microsoft Windows XP gcc 4.4 (MinGW) (32-bit), MSVC 2005 (32 and 64-bit)
Microsoft Windows Vista MSVC 2005, 2008
Microsoft Windows Vista 64bit MSVC 2008
Microsoft Windows 7 MSVC 2008
Apple Mac OS X 10.6 "Snow Leopard" As provided by Apple
Apple Mac OS X 10.5 "Leopard"
x86_64 (Cocoa 32 and 64bit)As provided by Apple
Embedded Linux QWS (ARM) gcc (Codesourcery version)
Windows CE 5.0 (ARMv4i, x86, MIPS)MSVC 2005 WinCE 5.0 Standard (x86, pocket, smart,mipsii)
Symbian (Symbian/S60 5.0) RVCT 2.2 [build 686 or later], WINSCW 3.2.5 [build482 or later], GCCE (for applications)
Tier 2 Platforms
Tier 2 platforms are subject to ad hoc and internal testing. However, Qt users should note thaterrors may be present in released product versions for Tier 2 platforms and, subject to resource
http://doc.qt.nokia.com/latest/platform-notes.htmlhttp://doc.qt.nokia.com/latest/platform-notes.htmlhttp://www.codesourcery.com/http://www.codesourcery.com/http://doc.qt.nokia.com/latest/platform-notes.html8/3/2019 Qt for Symb Requiurments
2/16
availability, known errors in Tier 2 platforms may or may not be corrected prior to new version
releases.
Platform Compilers
Windows 7 MSVC 2010
Apple Mac OS X 10.4 "Tiger"(Carbon)
As provided by Apple
Apple Mac OS X 10.5 "Leopard"(Carbon)
As provided by Apple
HPUXi 11.23 aCC 6.10
Solaris 10 UltraSparc Sun Studio 12
AIX 6 Power5 xlC 7
Microsoft Windows XP Intel Compiler
Linux Intel Compiler
Embedded Linux QWS (Mips,
PowerPC)
gcc (Codesourcery version)
Embedded Linux X11 (ARM) gcc (Scratchbox)
Windows CE 5.0 (ARMv4i, x86,
MIPS)
MSVC 2005 WinCE 5.0 Standard (x86, pocket, smart,
mipsii)
Windows Embedded CE 6.0
(ARMv4i, x86, MIPS)MSVC 2008 WinCE Embedded 6.0 Professional
Maemo 5(Linux, ARM, X11) gcc (Scratchbox)
Symbian (Symbian/S60 3.1, 3.2)RVCT 2.2 [build 686 or later], WINSCW 3.2.5 [build 482 orlater], GCCE (for applications)
Note: The PPC architecture on Mac has been downgraded from tier 1 to tier 2 for 4.7.
Tier 3 Platforms (Not supported by Nokia)
All platforms not specifically listed above are not supported by Nokia. Nokia does not run its
unit test suite or perform any other internal tests on platforms not listed above.
Even though some Tier 3 platforms are available under the Qt Commercial License, technicalsupport is not included in that license. However, contact our sales team to find out about the
availability of other services for those platforms.
Qt users should note, however, that there may be various open source projects, community usersand/or Qt partners who are able to provide assistance with platforms not supported by Nokia.
General Legal Disclaimer
Please note that Qt is offered on an "as is" basis without warranty of any kind and that our
products are not error or bug free. To the maximum extent permitted by applicable law, Nokia onbehalf of itself and its suppliers, disclaims all warranties and conditions, either express or
http://www.codesourcery.com/http://www.scratchbox.org/http://www.scratchbox.org/http://qt.nokia.com/about/contact-ushttp://www.codesourcery.com/http://www.scratchbox.org/http://www.scratchbox.org/http://qt.nokia.com/about/contact-us8/3/2019 Qt for Symb Requiurments
3/16
implied, including, but not limited to, implied warranties of merchantability, fitness for a
particular purpose, title and non-infringement with regard to the Licensed Software.
Planned Changes for Qt 4.8
The following changes to the list of supported platforms are at time of publishing planned for Qt4.8:
Plans not yet released
Qt for the Symbian platform RequirementsQt for the Symbian platform requires the following software installed on your development PC:
Carbide.c++ v2.3.0 or higher recommended.o Note: It may be necessary to update the Carbide compiler depending on Carbide
version. See herefor instructions how to check your compiler version and how to
patch it, if needed.
ActivePerl 5.6.1 build 638 or highero Note: According to Symbian, version 5.6.1 build 638 is mandatory for building
Symbian applications, but that version is no longer available from ActiveState.However, Qt for Symbian has been successfully compiled using both 5.8.x and5.10.x versions.
S60 Platform SDK 3rd Edition FP1 or highero Note: Users ofS60 Platform SDK 3rd Edition FP1 also need special update.
The update can be foundhere.
Open C/C++ v1.7.5 or higher. Install this to all Symbian SDKs you plan to use Qt with.
Building Qt tools from scratch requires MinGW 3.4.5 or higher, or another windowscompiler.
o Note: This is not required if you are using pre-built binary package.
Building Qt libraries requires RVCT version 2.2 (build 686 or later), which is not
available free of charge. Usage of later versions of RVCT, including the 3.x and 4.xseries, is not supported in this release.
Running Qt on real device requires the Open C and sqlite3 to be installed on the device. These
installation packages are embedded into qt_installer.sis, which is included in Qt for
Symbian binary package.
http://www.forum.nokia.com/Library/Tools_and_downloads/Other/Carbide.c++/http://pepper.troll.no/s60prereleases/patches/http://pepper.troll.no/s60prereleases/patches/http://downloads.activestate.com/ActivePerl/releaseshttp://www.forum.nokia.com/info/sw.nokia.com/id/ec866fab-4b76-49f6-b5a5-af0631419e9c/S60_All_in_One_SDKs.htmlhttp://pepper.troll.no/s60prereleases/patches/http://pepper.troll.no/s60prereleases/patches/http://pepper.troll.no/s60prereleases/patches/http://www.forum.nokia.com/info/sw.nokia.com/id/91d89929-fb8c-4d66-bea0-227e42df9053/Open_C_SDK_Plug-In.htmlhttp://www.mingw.org/http://www.arm.com/products/tools/software-development-tools.phphttp://www.forum.nokia.com/Library/Tools_and_downloads/Other/Carbide.c++/http://pepper.troll.no/s60prereleases/patches/http://downloads.activestate.com/ActivePerl/releaseshttp://www.forum.nokia.com/info/sw.nokia.com/id/ec866fab-4b76-49f6-b5a5-af0631419e9c/S60_All_in_One_SDKs.htmlhttp://pepper.troll.no/s60prereleases/patches/http://www.forum.nokia.com/info/sw.nokia.com/id/91d89929-fb8c-4d66-bea0-227e42df9053/Open_C_SDK_Plug-In.htmlhttp://www.mingw.org/http://www.arm.com/products/tools/software-development-tools.php8/3/2019 Qt for Symb Requiurments
4/16
If you are building Qt from scratch, you can find the sqlite3 package from under your Qt
installation:
src\s60installs\sqlite3.sis
The Open C packages you can find in the Symbian SDK where you installed Open C/C++:
nokia_plugin\openc\s60opencsis\pips_s60_.sis
nokia_plugin\openc\s60opencsis\openc_ssl_s60_.sis
nokia_plugin\opencpp\s60opencppsis\stdcpp_s60_.sis
If you wish to do hardware debugging with Carbide or run applications in real devices using
"make run" command, TRK must be installed to the device. Note: TRK is not required if youjust want to install and run applications manually on the device.
Application TRK. Choose the correct installation package based on the S60 version of
your device (S60__app_trk_.sisx).
We recommend you to take a look at Symbian Foundation - Qt Quick Startto get more
information about how to setup the development environment.
See also Known Issues.
Installing Qt for the Symbian platform
Qt for the Symbian platform has some requirements that are given in more detail in theQt for the
Symbian platform Requirements document.
This document describes how to install and configure Qt for the Symbian platform from scratch.
If you are using pre-built binaries, follow the instructions given in theInstalling Qt for theSymbian platform from a Binary Packagedocument.
Step 1: Set Up the Development Environment
Make sure your Symbian development environment is correctly installed and patched as
explained in the Qt for the Symbian platform Requirements document.
After you have finished the Symbian development environment setup, it is good to verify that
environment is functional for example by compiling one of the pure Symbian examples for both
emulator and HW. This can be done from command prompt as follows:
cd \S60CppExamples\Note\groupbldmake bldfiles
http://tools.ext.nokia.com/trk/http://developer.symbian.org/wiki/index.php/Qt_Quick_Starthttp://developer.symbian.org/wiki/index.php/Qt_Quick_Starthttp://doc.qt.nokia.com/latest/known-issues.htmlhttp://doc.qt.nokia.com/latest/known-issues.htmlhttp://doc.qt.nokia.com/latest/requirements-symbian.htmlhttp://doc.qt.nokia.com/latest/requirements-symbian.htmlhttp://doc.qt.nokia.com/latest/requirements-symbian.htmlhttp://doc.qt.nokia.com/latest/install-symbian-installer.htmlhttp://doc.qt.nokia.com/latest/install-symbian-installer.htmlhttp://doc.qt.nokia.com/latest/install-symbian-installer.htmlhttp://doc.qt.nokia.com/latest/install-symbian-installer.htmlhttp://doc.qt.nokia.com/latest/requirements-symbian.htmlhttp://tools.ext.nokia.com/trk/http://developer.symbian.org/wiki/index.php/Qt_Quick_Starthttp://doc.qt.nokia.com/latest/known-issues.htmlhttp://doc.qt.nokia.com/latest/requirements-symbian.htmlhttp://doc.qt.nokia.com/latest/requirements-symbian.htmlhttp://doc.qt.nokia.com/latest/install-symbian-installer.htmlhttp://doc.qt.nokia.com/latest/install-symbian-installer.htmlhttp://doc.qt.nokia.com/latest/requirements-symbian.html8/3/2019 Qt for Symb Requiurments
5/16
abld build winscw udebabld build gcce urel
If all steps pass without errors your Symbian development environment is very likely installedcorrectly.
Step 2: Install Qt
Uncompress the downloadedsource package into the directory you want Qt installed, e.g.C:\Qt\4.7.2.
Note: Qt must be installed on the same drive as the Symbian SDK you are using, and the install
path must not contain any spaces.
Step 3: Set the Environment variables
In order to build and use Qt, the PATH environment variable needs to be extended:
PATH - to locate qmake, moc and other Qt tools
This is done by adding c:\Qt\4.7.2\bin to the PATH variable.
On Windows thePATH can be extended by navigating to "Control Panel->System->Advanced-
>Environment variables".
In addition, you must configure the environment for use with the Symbian emulator. This is done
by locating the Carbide.c++ submenu on the Start menu, and choosing "Configure environment
for WINSCW command line".
If you are planning to use abld (the default build system that comes with the S60 SDK) to build
Qt, you will also need to set the following environment variable:
SYMBIANBUILD_DEPENDENCYOFF=1
This is not necessary for other applications, only when building Qt.
Step 4: Configure Qt
To configure Qt for the Symbian platform, do:
cd \Qt\4.7.2configure -platform win32-g++ -xplatform symbian-abld
(to build the tools using MinGW, and the libraries using abld)
or
http://qt.nokia.com/downloadshttp://qt.nokia.com/downloadshttp://qt.nokia.com/downloads8/3/2019 Qt for Symb Requiurments
6/16
cd \Qt\4.7.2configure -platform win32-g++ -xplatform symbian-sbsv2
(to build the tools using MinGW, and the libraries using SBSv2)
SBSv2 (also known asRaptor) is a next-generation Symbian build system. SBSv2 is notofficially supported by any of the S60 SDKs currently available from Forum Nokia.
Step 5: Build Qt
To build Qt for the emulator, type:
make debug-winscw
To build Qt for the device, type:
make release-armv5
Congratulations, Qt is now ready to use.
Step 7: Installing Qt Libraries on the Device
To run the demo on a real device, you first have to install the Qt libraries on the device:
cd src\s60installsmake sis QT_SIS_OPTIONS=-i QT_SIS_CERTIFICATE=QT_SIS_KEY=cd ..\3rdparty\webkit\WebCore
make sis QT_SIS_OPTIONS=-i QT_SIS_CERTIFICATE=QT_SIS_KEY=
The Qt libraries are built with "All -Tcb" capability, so that they can support all types ofapplication. If you don't have a suitable certificate, it is possible to patch the binaries as follows:
If you have no certificate, build a self signed Qt:
cd src\s60installsmake sis QT_SIS_OPTIONS=-icd ..\3rdparty\webkit\WebCoremake sis QT_SIS_OPTIONS=-i
If you have a symbian-signed developer certificate, specify the capabilities you can sign for, forexample:
cd src\s60installspatch_capabilities.pl Qt_template.pkg release-armv5 "ALL -Tcb -AllFiles -DRM"make sis QT_SIS_OPTIONS=-i QT_SIS_CERTIFICATE=QT_SIS_KEY=cd ..\3rdparty\webkit\WebCore
http://developer.symbian.org/wiki/index.php/Introduction_to_RAPTORhttp://developer.symbian.org/wiki/index.php/Introduction_to_RAPTORhttp://developer.symbian.org/wiki/index.php/Introduction_to_RAPTOR8/3/2019 Qt for Symb Requiurments
7/16
patch_capabilities.pl QtWebKit_template.pkg release-armv5 "ALL -Tcb-AllFiles -DRM"make sis QT_SIS_OPTIONS=-i QT_SIS_CERTIFICATE=QT_SIS_KEY=
Running Qt demos
We've included a subset of the Qt demos in this package for you to try out. An excellent startingpoint is the "fluidlauncher" demo.
Similarly, install fluidlauncher to the device:
cd demos\embedded\fluidlaunchermake sis QT_SIS_OPTIONS=-i
This will create a self-signed fluidlauncher.sis and install it to your device.
To run the demos on the emulator simply navigate to the directory of the demo you want to seeand run:
make run
For more information about building and running Qt programs on the Symbian platform, seeThe
Symbian platform - Introduction to Qt. We hope you will enjoy using Qt.
Platform and Compiler Notes - Symbian
As with any port, the maturity for Qt for Symbian has not yet reached the same level as other
established Qt ports. This page documents the current notes for the Symbian port.
Source Compatibility
http://doc.qt.nokia.com/latest/symbian-with-qt-introduction.htmlhttp://doc.qt.nokia.com/latest/symbian-with-qt-introduction.htmlhttp://doc.qt.nokia.com/latest/symbian-with-qt-introduction.htmlhttp://doc.qt.nokia.com/latest/symbian-with-qt-introduction.htmlhttp://doc.qt.nokia.com/latest/symbian-with-qt-introduction.html8/3/2019 Qt for Symb Requiurments
8/16
Qt for Symbian provides the same level of source compatibility guarantee as given for other
platforms. That is, a program which compiles against a given version of Qt for Symbian will also
compile against all future versions of the same major release.
Binary Compatibility
As with every supported platform, we will strive to maintain application behavior and binary
compatibility throughout the lifetime of the Qt 4.x series. However, due to the fact that Symbian
support is newly added in 4.6.0, there is a slight possibility that minor corrections to theapplication binary interface (ABI) might be required in 4.6.1, in order to ensure compatibility
going forward. Any such change will be clearly documented in the release notes for 4.6.1.
Supported Devices
Qt is designed to work on any device which runs one of the following versions of Symbian:
Symbian Version
S60 3.1
S60 3.2
S60 5.0 (Symbian ^1)
Qt has received Tier 1 testing on the following phone models:
Phone
Nokia 5800
Nokia E71
Nokia E72
Nokia N78
Nokia N95
Nokia N97
Samsung i8910
Supported Functionality
The following technologies and classes are not currently supported:
Technology Note
QtConcurrent Planned for future release.
QtDBus No current plans to support this feature.
QtOpenGL ES Planned for future release.
Printing support No current plans to support this feature.
Qt3Support No current plans to support this feature.
http://doc.qt.nokia.com/latest/supported-platforms.html#tier-1-platformshttp://doc.qt.nokia.com/latest/qtconcurrent.htmlhttp://doc.qt.nokia.com/latest/qtdbus.htmlhttp://doc.qt.nokia.com/latest/qtopengl.htmlhttp://doc.qt.nokia.com/latest/qt3support.htmlhttp://doc.qt.nokia.com/latest/supported-platforms.html#tier-1-platformshttp://doc.qt.nokia.com/latest/qtconcurrent.htmlhttp://doc.qt.nokia.com/latest/qtdbus.htmlhttp://doc.qt.nokia.com/latest/qtopengl.htmlhttp://doc.qt.nokia.com/latest/qt3support.html8/3/2019 Qt for Symb Requiurments
9/16
The following technologies have limited support:
Technology Note
QtSql The only driver supported is SQLite.
QtMultimediaAlthough the module itself is supported, no backend for Symbian is currently
available. However, there is a backend available for Phonon.
Compiler Notes
GCCE (Symbian)
GCCE cannot be used to compile Qt libaries for the Symbian platform, but GCCE is supported
when compiling Qt applications for the Symbian platform.
Known Issues
Known issues can be found by visiting the wiki page with an up-to-date list of known issues, and
the list of bugs can be found bybrowsing the S60 component in Qt's public task tracker, located
at http://bugreports.qt.nokia.com/.
For information about mixing exceptions with Symbian leaves, seeException Safety withSymbian.
Required Capabilities
The Qt libraries are typically signed with All -TCB capabilites, but that does not mean your Qtapplication needs to be signed with the same capabilities to function properly. The capabilitiesyour application needs to function properly depends on which parts of Qt you use, here is an
overview:
Module Required Symbian Capability
QtCore PowerMgmt if QProcess::kill(...) or QProcess::terminate(...) is called.
QtCore AllFiles whenaccessing specific areas.
QtDeclarative NetworkServices is automatically added for this module.
QtNetwork NetworkServices is automatically added for this module.
QtNetwork
ReadUserData is required to include all the phone's SSL certificates in the
system's default CA certificate list (for example those added by the user or stored
in the SIM card), without this capability only the CA certs built into the phone areused.
QtMultiMedia UserEnvironment ifQAudioInput is used.
QtWebkit NetworkServices is automatically added for this module.
http://doc.qt.nokia.com/latest/qtsql.htmlhttp://doc.qt.nokia.com/latest/qtmultimedia.htmlhttp://qt.gitorious.org/qt/pages/QtKnownIssueshttp://bugreports.qt.nokia.com/browse/QTBUG/component/19171http://bugreports.qt.nokia.com/http://doc.qt.nokia.com/latest/symbianexceptionsafety.htmlhttp://doc.qt.nokia.com/latest/symbianexceptionsafety.htmlhttp://doc.qt.nokia.com/latest/symbianexceptionsafety.htmlhttp://doc.qt.nokia.com/latest/qtcore.htmlhttp://doc.qt.nokia.com/latest/qtcore.htmlhttp://developer.symbian.org/wiki/index.php/Capabilities_(Symbian_Signed)/AllFiles_Capabilityhttp://developer.symbian.org/wiki/index.php/Capabilities_(Symbian_Signed)/AllFiles_Capabilityhttp://doc.qt.nokia.com/latest/qtdeclarative.htmlhttp://doc.qt.nokia.com/latest/qtnetwork.htmlhttp://doc.qt.nokia.com/latest/qtnetwork.htmlhttp://doc.qt.nokia.com/latest/qaudioinput.htmlhttp://doc.qt.nokia.com/latest/demos.html#qtwebkithttp://doc.qt.nokia.com/latest/qtsql.htmlhttp://doc.qt.nokia.com/latest/qtmultimedia.htmlhttp://qt.gitorious.org/qt/pages/QtKnownIssueshttp://bugreports.qt.nokia.com/browse/QTBUG/component/19171http://bugreports.qt.nokia.com/http://doc.qt.nokia.com/latest/symbianexceptionsafety.htmlhttp://doc.qt.nokia.com/latest/symbianexceptionsafety.htmlhttp://doc.qt.nokia.com/latest/qtcore.htmlhttp://doc.qt.nokia.com/latest/qtcore.htmlhttp://developer.symbian.org/wiki/index.php/Capabilities_(Symbian_Signed)/AllFiles_Capabilityhttp://doc.qt.nokia.com/latest/qtdeclarative.htmlhttp://doc.qt.nokia.com/latest/qtnetwork.htmlhttp://doc.qt.nokia.com/latest/qtnetwork.htmlhttp://doc.qt.nokia.com/latest/qaudioinput.htmlhttp://doc.qt.nokia.com/latest/demos.html#qtwebkit8/3/2019 Qt for Symb Requiurments
10/16
Note: Some modules rely on other modules. E.g. QtWebkit and QtDeclarativedepend on
QtNetworkand therefore any application that depends on these modules is also likely to needNetworkServices capability.
For more information see the documentation of the individual Qt classes. If a class does not
mention Symbian capabilities, it requires none.
Multimedia and Phonon Support
Qt provides a backend for Qt's Phonon module, which supports video and sound playbackthrough Symbian's Multimedia Framework, MMF.
In this release the support is experimental. Video playback may have flickering issues, and
support for effects and playback queueing is incomplete.
The audio and video formats that Phonon supports depends on what support the platform
provides for MMF. The emulator is known to have limited codec support.
In addition, there exists a backend for the Helix framework. However, due to it not shipping with
Qt, its availability depends on the Symbian platform in use. If available, it is loaded in preference
over the MMF plugin. If the Helix plugin fails to load, the MMF plugin, if present on the device,will be loaded instead.
UI Performance in devices prior to Symbian^3
Qt uses the QPainterclass to perform low-level painting on widgets and other paint devices.
QPainterprovides functions to draw complex shapes, aligned text and pixmaps. It can also dovector path clipping, coordinate transformations and Porter-Duff composition. If the underlying
graphics architecture does not support all of these operations then Qt uses the raster graphics
system for rendering.
Most of the Symbian devices prior to Symbian^3 use a non-ScreenPlay graphics architecturewhich does not have native support for all functions provided by QPainter. In non-ScreenPlay
devices Qt uses the raster graphics system by default which has a performance penalty when
compared to native Symbian rendering.
In order to be able to perform all functions provided by QPainter, the raster graphics system
needs to have pixel level framebuffer access. To make this possible in non-ScreenPlay devicesQt has to create an additional offscreen buffer that is the target for all Qt rendering operations. Qt
renders the widget tree to the offscreen buffer and the offscreen buffer is blitted to theframebuffer via Symbian Window Server.
The following table shows the rendering stacks of native Symbian and Qt in non-ScreenPlay
devices.
http://doc.qt.nokia.com/latest/demos.html#qtwebkithttp://doc.qt.nokia.com/latest/qtdeclarative.htmlhttp://doc.qt.nokia.com/latest/qtdeclarative.htmlhttp://doc.qt.nokia.com/latest/qtnetwork.htmlhttp://doc.qt.nokia.com/latest/qpainter.htmlhttp://doc.qt.nokia.com/latest/qpainter.htmlhttp://doc.qt.nokia.com/latest/qpainter.htmlhttp://doc.qt.nokia.com/latest/qpainter.htmlhttp://doc.qt.nokia.com/latest/demos.html#qtwebkithttp://doc.qt.nokia.com/latest/qtdeclarative.htmlhttp://doc.qt.nokia.com/latest/qtnetwork.htmlhttp://doc.qt.nokia.com/latest/qpainter.htmlhttp://doc.qt.nokia.com/latest/qpainter.htmlhttp://doc.qt.nokia.com/latest/qpainter.htmlhttp://doc.qt.nokia.com/latest/qpainter.html8/3/2019 Qt for Symb Requiurments
11/16
Symbian Qt
The following diagrams show a simplified sequence of drawing a pixmap in a non-ScreenPlaydevice.
Symbian
8/3/2019 Qt for Symb Requiurments
12/16
Qt
When compared to a native Symbian application, Qt does an additional blit to the offscreen
buffer before drawing to the framebuffer. That is the performance penalty which needs to be paidto get all functionality provided by QPainterin non-ScreenPlay architecture.
Getting Started Guides
Creating applications using Qt and QML is easy enough
once you get started.
To get you started we have created two tutorials creating two similar applications, but using
diiferent approaches. One tutorial implements the user interface using QML, while the other
implements the whole application using traditional Qt.
Please click on the links below to start the ride.
Getting Started Programming with QML
Getting Started Programming with Qt
http://doc.qt.nokia.com/latest/qpainter.htmlhttp://doc.qt.nokia.com/latest/gettingstartedqml.htmlhttp://doc.qt.nokia.com/latest/gettingstartedqt.htmlhttp://doc.qt.nokia.com/latest/qpainter.htmlhttp://doc.qt.nokia.com/latest/gettingstartedqml.htmlhttp://doc.qt.nokia.com/latest/gettingstartedqt.html8/3/2019 Qt for Symb Requiurments
13/16
The Symbian platform - Introduction to Qt
Required Tools
SeeQt for the Symbian platform Requirements to see what tools are required to use Qt for the
Symbian platform.
Installing Qt and Running Demos
Follow the instructions found in Installing Qt for the Symbian platform from a Binary Packageto
learn how to install Qt using a binary package and how to build and run Qt demos.
Follow the instructions found in Installing Qt for the Symbian platform to learn how to install Qtusing using source package and how to build and run the Qt demos.
Building Your Own Applications
If you are new to Qt development, have a look at How to Learn Qt. In general, the difference
between developing a Qt application on the Symbian platform compared to any of the other
platforms supported by Qt is not that big.
Once you have created a .pro file for your project, generate the Symbian specific Bld.inf and
.mmp files this way:
qmake
For more information on how to use qmake have a look at theqmake Tutorial. In particular, see
the qmake Platform Notes for details of Symbian-specific build settings.
Now you can build the Qt for the Symbian platform application with standard build tools.
Alternative Build Targets
By default, running make will produce binaries for the emulator. However, the Symbian platform
comes with several alternative build targets that can be used to create binaries for targethardware and deploy them on devices, as shown in the table below:
debug-winscwBuild debug binaries for the emulator (default). It is currently not
possible to build release binaries for the emulator.debug-gcce Build debug binaries for hardware using GCCE.release-gcce Build release binaries for hardware using GCCE.
http://doc.qt.nokia.com/latest/requirements-symbian.htmlhttp://doc.qt.nokia.com/latest/requirements-symbian.htmlhttp://doc.qt.nokia.com/latest/install-symbian-installer.htmlhttp://doc.qt.nokia.com/latest/install-symbian-installer.htmlhttp://doc.qt.nokia.com/latest/install-symbian.htmlhttp://doc.qt.nokia.com/latest/how-to-learn-qt.htmlhttp://doc.qt.nokia.com/latest/qmake-tutorial.htmlhttp://doc.qt.nokia.com/latest/qmake-tutorial.htmlhttp://doc.qt.nokia.com/latest/qmake-tutorial.htmlhttp://doc.qt.nokia.com/latest/qmake-platform-notes.html#symbian-platformhttp://doc.qt.nokia.com/latest/requirements-symbian.htmlhttp://doc.qt.nokia.com/latest/install-symbian-installer.htmlhttp://doc.qt.nokia.com/latest/install-symbian.htmlhttp://doc.qt.nokia.com/latest/how-to-learn-qt.htmlhttp://doc.qt.nokia.com/latest/qmake-tutorial.htmlhttp://doc.qt.nokia.com/latest/qmake-platform-notes.html#symbian-platform8/3/2019 Qt for Symb Requiurments
14/16
debug-armv5 Build debug binaries for hardware using RVCT.release-armv5 Build release binaries for hardware using RVCT.run Run the application on the emulator.runonphone Run the application on a device.deploy Deploys the project into a device.
sis Create signed .sis file for project.unsigned_sis Create unsigned .sis file for project.
installer_sis
Create signed smart installer.sis file for project. Smart installer will
attempt to download missing dependencies in addition to just
installing the application. Note: The application .sis contained in
smart installer.sis will be recreated and signed with same
certificates as smart installer.sis.
ok_installer_sis
Otherwise similar to installer_sis target, except the application
sis will not be recreated. This is useful when application .sis needs
to be separately signed before including it into smart installer.sis.
unsigned_installer_sisCreate unsigned smart installer.sis file for project. Note: Theapplication .sis contained in smart installer.sis will also be
unsigned.
stub_sisCreate a stub sis to allow upgradability of projects that are deployedin ROM
The following lines perform a debug build for the emulator and deploy all the needed files:
make debug-winscw
To work on your project in Carbide, simply import the .pro file by right clicking on the project
explorer and executing "Import...".
Running Applications from the Command Line
The application can be launched on the emulator using make run command.
The application can be launched on a device using make runonphone command. When this
command is invoked, a .sis file is first created as ifmake sis command was invoked (see
above for details). Note: Running the application on a device using this command requires TRK
application to be running on the device.
Additional environment variables that can be utilized with these commands are:
QT_RUN_OPTIONS Any command line parameters you wish to pass to your application.
QT_RUN_ON_PHONE_OPTIONS
Options for runonphone application. Execute runonphone from
command line for more information about available options. make
runonphone only.
http://get.qt.nokia.com/nokiasmartinstaller/http://get.qt.nokia.com/nokiasmartinstaller/http://get.qt.nokia.com/nokiasmartinstaller/http://get.qt.nokia.com/nokiasmartinstaller/http://get.qt.nokia.com/nokiasmartinstaller/http://get.qt.nokia.com/nokiasmartinstaller/8/3/2019 Qt for Symb Requiurments
15/16
Installing Your Own Applications
To install your own applications on hardware, you need a signed .sis file. (Refer to the
Symbian Platform Security article for more informations about self-signing.) The signed .sis
file can be created with makesis target. sis target is only supported for executables or projects
with DEPLOYMENT statements. By default the sis target will create signed .sis file for last buildtarget. For example, the following sequence will generate the needed makefiles, build the projectfordebug-winscw and release-armv5, and create self-signed .sis file forrelease-armv5
target:
qmakemake debug-winscw release-armv5make sis
If you want to use different certificate information or override the default target for.sis file
creation you can use the environment variables as shown in the table below:
QT_SIS_OPTIONSOptions accepted by .sis creation. See Supported options below. By
default no otions are given.
QT_SIS_TARGETTarget for which .sis file is created. Accepted values are build targets
listed in previous table. By default last build target.QT_SIS_CERTIFICATE The certificate file used for signing. By default self-signed certificate.
QT_SIS_KEYThe certificate's private key file. By default key is associated to self-
signed certificate.QT_SIS_PASSPHRASE The certificate's private key file's passphrase. By default empty.
The supported options forQT_SIS_OPTIONS:
-i Install the package right away using PC suite.
-p Only preprocess the template .pkg file.
-c Read certificate information from a file.
-u Preserves unsigned package.
-o Creates only unsigned package.
-s Generates stub sis for ROM.
-n Specifies the final sis name.
-g Treat gcce platform as armv5.
-d Skip automatic patching of the package when default certificate is used.
Execute the createpackage.pl script without any parameters for detailed information about
options. By default no options are given.
For example:
set QT_SIS_TARGET=debug-armv5make sis
http://developer.symbian.org/wiki/index.php/Platform_Security_(Fundamentals_of_Symbian_C%2B%2B)#Self-Signed_Applicationshttp://doc.qt.nokia.com/latest/symbian-with-qt-introduction.html#supported-options-for-qt-sis-optionshttp://developer.symbian.org/wiki/index.php/Platform_Security_(Fundamentals_of_Symbian_C%2B%2B)#Self-Signed_Applicationshttp://doc.qt.nokia.com/latest/symbian-with-qt-introduction.html#supported-options-for-qt-sis-options8/3/2019 Qt for Symb Requiurments
16/16
The environment variables formake can also be given as parameters:
make sis QT_SIS_TARGET=debug-armv5
If you want to install the program immediately after creating .sis file, make sure that the device
is connected to the computer in "PC Suite" mode, and use deploy target instead ofsis target:
make deploy
Deployment and the Smart Installer
Although some Symbian devices may already have a version of Qt installed on them, there needs
to be a way to ensure that an appropriate version of Qt is available for your application to use.Rather than deploy the required Qt libraries with your application, the preferred way to package
Qt applications for deployment is to download and use the Smart Installer.
The Smart Installer makes sure that deployed applications have all the Qt dependencies theyneed to run on a device, performing the necessary updates when the user installs the application.
More information about deployment can be found in the Deploying an Application on the
Symbian Platform document.
http://doc.qt.nokia.com/latest/deployment-symbian.htmlhttp://doc.qt.nokia.com/latest/deployment-symbian.htmlhttp://doc.qt.nokia.com/latest/deployment-symbian.htmlhttp://doc.qt.nokia.com/latest/deployment-symbian.html