|
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 */ |