source: trunk/doc/src/platforms/symbian-introduction.qdoc@ 865

Last change on this file since 865 was 846, checked in by Dmitry A. Kuminov, 14 years ago

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

  • Property svn:eol-style set to native
File size: 12.5 KB
Line 
1/****************************************************************************
2**
3** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
4** All rights reserved.
5** Contact: Nokia Corporation ([email protected])
6**
7** This file is part of the documentation of the Qt Toolkit.
8**
9** $QT_BEGIN_LICENSE:FDL$
10** Commercial Usage
11** Licensees holding valid Qt Commercial licenses may use this file in
12** accordance with the Qt Commercial License Agreement provided with the
13** Software or, alternatively, in accordance with the terms contained in a
14** written agreement between you and Nokia.
15**
16** GNU Free Documentation License
17** Alternatively, this file may be used under the terms of the GNU Free
18** Documentation License version 1.3 as published by the Free Software
19** Foundation and appearing in the file included in the packaging of this
20** file.
21**
22** If you have questions regarding the use of this file, please contact
23** Nokia at [email protected].
24** $QT_END_LICENSE$
25**
26****************************************************************************/
27
28/*!
29 \group qtsymbian
30 \title Qt for the Symbian platform
31 \ingroup qt-embedded
32 \brief Documents related to Qt for the Symbian platform
33
34 Qt for Symbian is a C++ framework for GUI and application development
35 for embedded devices running Symbian. Qt for Symbian provides all
36 functionality required to develop rich end-user applications for devices
37 running S60 3.1 and later.
38
39 \table 100%
40 \header \o Getting Started \o Reference \o Development
41 \row
42 \o
43 \list
44 \o \l {Qt for the Symbian platform Requirements}
45 \o \l {Installing Qt for the Symbian platform from a Binary Package}
46 \o \l {Installing Qt for the Symbian platform}
47 \o \l {The Symbian platform - Introduction to Qt}{Introduction to using Qt}
48 \endlist
49 \o
50 \list
51 \o \l {Exception Safety with Symbian}
52 \o \l {Platform and Compiler Notes - Symbian} {Qt for the Symbian platform - state of support}
53 \o \l {qmake Platform Notes#Symbian platform} {Qt for Symbian extensions for qmake}
54 \o \l {Symbian Platform Security Requirements} {Symbian Platform Security Requirements}
55 \endlist
56 \o
57 \list
58 \o \l {Deploying an Application on the Symbian platform}{Deploying Applications}
59 \endlist
60 \endtable
61*/
62
63/*!
64 \page symbian-platform-security-requirements.html
65
66 \title Symbian Platform Security Requirements
67 \ingroup qtsymbian
68
69 On Symbian, processes that access media via the network must
70 have the \c NetworkServices platform security capability. If the client
71 process lacks this capability, operations will result in errors.
72 This failure is indicated by a state() of Phonon::ErrorState.
73
74 Platform security capabilities are added via the
75 \l{qmake-variable-reference.html#target-capability}{TARGET.CAPABILITY}
76 qmake variable.
77*/
78
79/*!
80 \page symbian-with-qt-introduction.html
81
82 \title The Symbian platform - Introduction to Qt
83 \brief An introduction to Qt for the Symbian platform developers.
84 \ingroup howto
85 \ingroup qtsymbian
86
87 \tableofcontents
88
89 \section1 Required Tools
90
91 See \l{Qt for the Symbian platform Requirements} to see what tools are
92 required to use Qt for the Symbian platform.
93
94 \section1 Installing Qt and Running Demos
95
96 Follow the instructions found in \l{Installing Qt for the Symbian platform from a Binary Package}
97 to learn how to install Qt using a binary package and how to build and run Qt demos.
98
99 Follow the instructions found in \l{Installing Qt for the Symbian platform} to learn how to install Qt using
100 using source package and how to build and run the Qt demos.
101
102 \section1 Building Your Own Applications
103
104 If you are new to Qt development, have a look at \l{How to Learn Qt}.
105 In general, the difference between developing a
106 Qt application on the Symbian platform compared to any of the other platforms supported
107 by Qt is not that big.
108
109 Once you have created a \c .pro file for your project, generate the
110 Symbian specific \c Bld.inf and \c .mmp files this way:
111
112 \snippet doc/src/snippets/code/doc_src_symbian-introduction.qdoc 0
113
114 For more information on how to use qmake have a look at the \l
115 {qmake Tutorial}. In particular, see the
116 \l{qmake Platform Notes#Symbian platform}{qmake Platform Notes} for
117 details of Symbian-specific build settings.
118
119 Now you can build the Qt for the Symbian platform application with
120 standard build tools.
121
122 \section2 Alternative Build Targets
123
124 By default, running \c make will produce binaries for the emulator.
125 However, the Symbian platform comes with several alternative
126 build targets that can be used to create binaries for target hardware
127 and deploy them on devices, as shown in the table below:
128
129 \table
130 \row \o \c debug-winscw \o Build debug binaries for the emulator (default).
131 It is currently not possible to build release
132 binaries for the emulator.
133 \row \o \c debug-gcce \o Build debug binaries for hardware using GCCE.
134 \row \o \c release-gcce \o Build release binaries for hardware using GCCE.
135 \row \o \c debug-armv5 \o Build debug binaries for hardware using RVCT.
136 \row \o \c release-armv5 \o Build release binaries for hardware using RVCT.
137 \row \o \c run \o Run the application on the emulator.
138 \row \o \c runonphone \o Run the application on a device.
139 \row \o \c deploy \o Deploys the project into a device.
140 \row \o \c sis \o Create signed \c .sis file for project.
141 \row \o \c unsigned_sis \o Create unsigned \c .sis file for project.
142 \row \o \c installer_sis \o Create signed \l{Smart Installer}{smart installer}
143 \c .sis file for project.
144 Smart installer will attempt to download
145 missing dependencies in addition to
146 just installing the application.
147 Note: The application \c .sis contained in smart installer \c .sis
148 will be recreated and signed with same certificates as
149 smart installer \c .sis.
150 \row \o \c ok_installer_sis \o Otherwise similar to \c installer_sis target, except
151 the application sis will not be recreated. This is useful
152 when application \c .sis needs to be separately signed before
153 including it into smart installer \c .sis.
154 \row \o \c unsigned_installer_sis \o Create unsigned \l{Smart Installer}{smart installer}
155 \c .sis file for project.
156 Note: The application \c .sis contained in smart installer
157 \c .sis will also be unsigned.
158 \row \o \c stub_sis \o Create a stub sis to allow upgradability of projects
159 that are deployed in ROM
160 \endtable
161
162 The following lines perform a debug build for the emulator
163 and deploy all the needed files:
164
165 \snippet doc/src/snippets/code/doc_src_symbian-introduction.qdoc 1
166
167 To work on your project in Carbide, simply import the \c .pro file
168 by right clicking on the project explorer and executing "Import...".
169
170 \section1 Running Applications from the Command Line
171
172 The application can be launched on the emulator using \c{make run} command.
173
174 The application can be launched on a device using \c{make runonphone} command.
175 When this command is invoked, a \c .sis file is first created as if \c{make sis}
176 command was invoked (see above for details).
177 \bold{Note:} Running the application on a device using this command requires
178 \c TRK application to be running on the device.
179
180 Additional environment variables that can be utilized with these commands are:
181 \table
182 \row \o \c QT_RUN_OPTIONS \o Any command line parameters you wish to pass
183 to your application.
184 \row \o \c QT_RUN_ON_PHONE_OPTIONS \o Options for runonphone application.
185 Execute \c runonphone from command line for
186 more information about available options.
187 \c{make runonphone} only.
188 \endtable
189
190 \section1 Installing Your Own Applications
191
192 To install your own applications on hardware, you need a signed \c .sis file.
193 (Refer to the \l{Symbian Platform Security} article for more informations about self-signing.)
194 The signed \c .sis file can be created with \c make \c sis target. \c sis target
195 is only supported for executables or projects with \c DEPLOYMENT statements.
196 By default the \c sis target will create signed \c .sis file for last build
197 target. For example, the following sequence will generate the needed makefiles,
198 build the project for \c debug-winscw and \c release-armv5, and create
199 self-signed \c .sis file for \c release-armv5 target:
200
201 \snippet doc/src/snippets/code/doc_src_symbian-introduction.qdoc 2
202
203 If you want to use different certificate information or override the default
204 target for \c .sis file creation you can use the environment variables as
205 shown in the table below:
206
207 \table
208 \row \o \c QT_SIS_OPTIONS \o Options accepted by \c .sis creation. See
209 \l{Supported options for QT_SIS_OPTIONS}{Supported options}
210 below. By default no otions are given.
211 \row \o \c QT_SIS_TARGET \o Target for which \c .sis file is created.
212 Accepted values are build targets listed in
213 previous table. By default last build target.
214 \row \o \c QT_SIS_CERTIFICATE \o The certificate file used for signing.
215 By default self-signed certificate.
216 \row \o \c QT_SIS_KEY \o The certificate's private key file.
217 By default key is associated to self-signed certificate.
218 \row \o \c QT_SIS_PASSPHRASE \o The certificate's private key file's passphrase.
219 By default empty.
220 \endtable
221
222 The supported options for \c QT_SIS_OPTIONS:
223
224 \target Supported options for QT_SIS_OPTIONS
225 \table
226 \row \o -i \o Install the package right away using PC suite.
227 \row \o -p \o Only preprocess the template \c .pkg file.
228 \row \o -c <file> \o Read certificate information from a file.
229 \row \o -u \o Preserves unsigned package.
230 \row \o -o \o Creates only unsigned package.
231 \row \o -s \o Generates stub sis for ROM.
232 \row \o -n <name> \o Specifies the final sis name.
233 \row \o -g \o Treat gcce platform as armv5.
234 \row \o -d \o Skip automatic patching of the package when default certificate is used.
235 \endtable
236
237 Execute the \c{createpackage.pl} script without any
238 parameters for detailed information about options. By default no options are given.
239
240 For example:
241
242 \snippet doc/src/snippets/code/doc_src_symbian-introduction.qdoc 4
243
244 The environment variables for \c make can also be given as parameters:
245
246 \snippet doc/src/snippets/code/doc_src_symbian-introduction.qdoc 3
247
248 If you want to install the program immediately after creating \c .sis file,
249 make sure that the device is connected to the computer in "PC Suite" mode,
250 and use \c deploy target instead of \c sis target:
251
252 \snippet doc/src/snippets/code/doc_src_symbian-introduction.qdoc 5
253
254 \section1 Deployment and the Smart Installer
255
256 Although some Symbian devices may already have a version of Qt installed
257 on them, there needs to be a way to ensure that an appropriate version
258 of Qt is available for your application to use. Rather than deploy the
259 required Qt libraries with your application, the preferred way to
260 package Qt applications for deployment is to download and use the Smart
261 Installer.
262
263 The Smart Installer makes sure that deployed applications have all the
264 Qt dependencies they need to run on a device, performing the necessary
265 updates when the user installs the application.
266
267 More information about deployment can be found in the
268 \l{Deploying an Application on the Symbian Platform} document.
269*/
Note: See TracBrowser for help on using the repository browser.