Qt for Symb Requiurments

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.html
  • 8/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-us
  • 8/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.php
  • 8/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.html
  • 8/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/downloads
  • 8/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_RAPTOR
  • 8/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.html
  • 8/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.html
  • 8/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#qtwebkit
  • 8/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.html
  • 8/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.html
  • 8/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-platform
  • 8/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-options
  • 8/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