doc/src/platforms/symbian-introduction.qdoc
changeset 7 f7bc934e204c
equal deleted inserted replaced
3:41300fa6a67c 7:f7bc934e204c
       
     1 /****************************************************************************
       
     2 **
       
     3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
       
     4 ** All rights reserved.
       
     5 ** Contact: Nokia Corporation (qt-info@nokia.com)
       
     6 **
       
     7 ** This file is part of the documentation of the Qt Toolkit.
       
     8 **
       
     9 ** $QT_BEGIN_LICENSE:LGPL$
       
    10 ** No Commercial Usage
       
    11 ** This file contains pre-release code and may not be distributed.
       
    12 ** You may use this file in accordance with the terms and conditions
       
    13 ** contained in the Technology Preview License Agreement accompanying
       
    14 ** this package.
       
    15 **
       
    16 ** GNU Lesser General Public License Usage
       
    17 ** Alternatively, this file may be used under the terms of the GNU Lesser
       
    18 ** General Public License version 2.1 as published by the Free Software
       
    19 ** Foundation and appearing in the file LICENSE.LGPL included in the
       
    20 ** packaging of this file.  Please review the following information to
       
    21 ** ensure the GNU Lesser General Public License version 2.1 requirements
       
    22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
       
    23 **
       
    24 ** In addition, as a special exception, Nokia gives you certain additional
       
    25 ** rights.  These rights are described in the Nokia Qt LGPL Exception
       
    26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
       
    27 **
       
    28 ** If you have questions regarding the use of this file, please contact
       
    29 ** Nokia at qt-info@nokia.com.
       
    30 **
       
    31 **
       
    32 **
       
    33 **
       
    34 **
       
    35 **
       
    36 **
       
    37 **
       
    38 ** $QT_END_LICENSE$
       
    39 **
       
    40 ****************************************************************************/
       
    41 
       
    42 /*!
       
    43     \group qtsymbian
       
    44     \title Qt for the Symbian platform
       
    45     \ingroup qt-embedded
       
    46     \brief Documents related to Qt on the Symbian platform
       
    47 
       
    48     Qt for Symbian is a C++ framework for GUI and application development
       
    49     for embedded devices running Symbian. Qt for Symbian provides all
       
    50     functionality required to develop rich end-user applications for devices
       
    51     running S60 3.1 and later.
       
    52 
       
    53     \table 100%
       
    54     \header \o Getting Started \o Reference \o Development
       
    55     \row
       
    56     \o
       
    57      \list
       
    58         \o \l {Qt for the Symbian platform Requirements}
       
    59         \o \l {Installing Qt on the Symbian platform from a Binary Package}
       
    60         \o \l {Installing Qt on the Symbian platform}
       
    61         \o \l {The Symbian platform - Introduction to Qt}{Introduction to using Qt}
       
    62     \endlist
       
    63     \o
       
    64     \list
       
    65         \o \l {Exception Safety with Symbian}
       
    66         \o \l {Platform Notes - Symbian} {Qt for the Symbian platform - state of support}
       
    67         \o \l {qmake Platform Notes#Symbian platform} {Qt for Symbian extensions for qmake}
       
    68     \endlist
       
    69     \o
       
    70     \list
       
    71         \o \l {Deploying an Application on the Symbian platform}{Deploying Applications}
       
    72     \endlist
       
    73     \endtable
       
    74 */
       
    75 
       
    76 /*!
       
    77     \page symbian-with-qt-introduction.html
       
    78 
       
    79     \title The Symbian platform - Introduction to Qt
       
    80     \brief An introduction to Qt for the Symbian platform developers.
       
    81     \ingroup howto
       
    82     \ingroup qtsymbian
       
    83 
       
    84     \tableofcontents
       
    85 
       
    86     \section1 Required tools
       
    87 
       
    88     See \l{Qt for the Symbian platform Requirements} to see what tools are
       
    89     required to use Qt for the Symbian platform.
       
    90 
       
    91     \section1 Installing Qt and running demos
       
    92 
       
    93     Follow the instructions found in \l{Installing Qt on the Symbian platform from a Binary Package}
       
    94     to learn how to install Qt using a binary package and how to build and run Qt demos.
       
    95 
       
    96     Follow the instructions found in \l{Installing Qt on the Symbian platform} to learn how to install Qt using
       
    97     using source package and how to build and run the Qt demos.
       
    98 
       
    99     \section1 Building your own applications
       
   100 
       
   101     If you are new to Qt development, have a look at \l{How to Learn Qt}.
       
   102     In general, the difference between developing a
       
   103     Qt application on the Symbian platform compared to any of the other platforms supported
       
   104     by Qt is not that big.
       
   105 
       
   106     Once you have created a \c .pro file for your project, generate the
       
   107     Symbian specific \c Bld.inf and \c .mmp files this way:
       
   108 
       
   109     \snippet doc/src/snippets/code/doc_src_symbian-introduction.qdoc 0
       
   110 
       
   111     For more information on how to use qmake have a look at the \l
       
   112     {qmake Tutorial}.
       
   113 
       
   114     Now you can build the Qt for the Symbian platform application with
       
   115     standard build tools. By default, running \c make will produce binaries for
       
   116     the emulator. However, the Symbian platform comes with several alternative
       
   117     build targets, as shown in the table below:
       
   118 
       
   119     \table
       
   120     \row \o \c debug-winscw  \o Build debug binaries for the emulator (default).
       
   121                                 It is currently not possible to build release
       
   122                                 binaries for the emulator.
       
   123     \row \o \c debug-gcce    \o Build debug binaries for hardware using GCCE.
       
   124     \row \o \c release-gcce  \o Build release binaries for hardware using GCCE.
       
   125     \row \o \c debug-armv5   \o Build debug binaries for hardware using RVCT.
       
   126     \row \o \c release-armv5 \o Build release binaries for hardware using RVCT.
       
   127     \row \o \c run           \o Run the application on the emulator.
       
   128     \row \o \c runonphone    \o Run the application on a device.
       
   129     \row \o \c sis           \o Create signed \c .sis file for project.
       
   130     \row \o \c installer_sis \o Create signed \l{Smart Installer}{smart installer}
       
   131                                 \c .sis file for project.
       
   132                                 Smart installer will attempt to download
       
   133                                 missing dependencies in addition to
       
   134                                 just installing the application.
       
   135     \row \o \c stub_sis      \o Create a stub sis to allow upgradability of projects
       
   136                                 that are deployed in ROM
       
   137     \endtable
       
   138 
       
   139     The following lines perform a debug build for the emulator
       
   140     and deploy all the needed files:
       
   141 
       
   142     \snippet doc/src/snippets/code/doc_src_symbian-introduction.qdoc 1
       
   143 
       
   144     To work on your project in Carbide, simply import the \c .pro file
       
   145     by right clicking on the project explorer and executing "Import...".
       
   146 
       
   147     \section2 Smart Installer
       
   148 
       
   149     The Smart Installer makes sure that deployed applications have all the Qt dependencies
       
   150     they need to run on a device.
       
   151 
       
   152     Download the latest release of the Smart Installer from \l{http://get.qt.nokia.com/nokiasmartinstaller/},
       
   153     and install it on top of the Qt package.
       
   154 
       
   155     \section1 Installing your own applications
       
   156 
       
   157     To install your own applications on hardware, you need a signed \c .sis file.
       
   158     (Refer to the \l{http://developer.symbian.org/wiki/index.php/Platform_Security_%28Fundamentals_of_Symbian_C%2B%2B%29#Self-Signed_Applications}
       
   159     {Platform Security Article} for more informations about self-signing.)
       
   160     The signed \c .sis file can be created with \c make \c sis target. \c sis target
       
   161     is only supported for executables or projects with \c DEPLOYMENT statements.
       
   162     By default the \c sis target will create signed \c .sis file for last build
       
   163     target. For example, the following sequence will generate the needed makefiles,
       
   164     build the project for \c debug-winscw and \c release-armv5, and create
       
   165     self-signed \c .sis file for \c release-armv5 target:
       
   166 
       
   167     \snippet doc/src/snippets/code/doc_src_symbian-introduction.qdoc 2
       
   168 
       
   169     If you want to use different certificate information or override the default
       
   170     target for \c .sis file creation you can use the environment variables as
       
   171     shown in the table below:
       
   172 
       
   173     \table
       
   174     \row \o \c QT_SIS_OPTIONS      \o Options accepted by \c .sis creation. See
       
   175                                    \l{Supported options for QT_SIS_OPTIONS}{Supported options}
       
   176                                     below. By default no otions are given.
       
   177     \row \o \c QT_SIS_TARGET       \o Target for which \c .sis file is created.
       
   178                                        Accepted values are build targets listed in
       
   179                                        previous table. By default last build target.
       
   180     \row \o \c QT_SIS_CERTIFICATE  \o The certificate file used for signing.
       
   181                                        By default self-signed certificate.
       
   182     \row \o \c QT_SIS_KEY          \o The certificate's private key file.
       
   183                                        By default key is associated to self-signed certificate.
       
   184     \row \o \c QT_SIS_PASSPHRASE   \o The certificate's private key file's passphrase.
       
   185                                        By default empty.
       
   186     \endtable
       
   187 
       
   188     The suppported options for \c QT_SIS_OPTIONS:
       
   189 
       
   190     \target Supported options for QT_SIS_OPTIONS
       
   191     \table
       
   192     \row \o -i                  \o Install the package right away using PC suite.
       
   193     \row \o -p                  \o Only preprocess the template \c .pkg file.
       
   194     \row \o -c=<file>           \o Read certificate information from a file.
       
   195     \endtable
       
   196 
       
   197     Execute the \c{createpackage.pl} script without any
       
   198     parameters for detailed information about options. By default no otions are given.
       
   199 
       
   200     For example:
       
   201 
       
   202     \snippet doc/src/snippets/code/doc_src_symbian-introduction.qdoc 4
       
   203 
       
   204     The environment variables for \c make can also be given as parameters:
       
   205 
       
   206     \snippet doc/src/snippets/code/doc_src_symbian-introduction.qdoc 3
       
   207 
       
   208     If you want to install the program immediately, make sure that the device
       
   209     is connected to the computer in "PC Suite" mode, and run \c sis target
       
   210     with the \c QT_SIS_OPTIONS=-i, like this:
       
   211 
       
   212     \snippet doc/src/snippets/code/doc_src_symbian-introduction.qdoc 5
       
   213 
       
   214     \section1 Running applications from command line
       
   215 
       
   216     The application can be launched on the emulator using \c{make run} command.
       
   217 
       
   218     The application can be launched on a device using \c{make runonphone} command.
       
   219     When this command is invoked, a \c .sis file is first created as if \c{make sis}
       
   220     command was invoked (see above for details).
       
   221     \bold{Note:} Running the application on a device using this command requires
       
   222     \c TRK application to be running on the device.
       
   223 
       
   224     Additional environment variables that can be utilized with these commands are:
       
   225     \table
       
   226     \row \o \c QT_RUN_OPTIONS           \o Any command line parameters you wish to pass
       
   227                                            to your application.
       
   228     \row \o \c QT_RUN_ON_PHONE_OPTIONS  \o Options for runonphone application.
       
   229                                            Execute \c runonphone from command line for
       
   230                                            more information about available options.
       
   231                                            \c{make runonphone} only.
       
   232     \endtable
       
   233 */