|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-301E5FAA-A1C3-4FD7-9D84-DAA61C66981B" xml:lang="en"><title>Symbian |
|
13 C++ Quick Start</title><shortdesc>This Quick Start is relevant if you want to create Symbian C++ |
|
14 applications that run on Symbian devices - i.e. "on top" of the Symbian platform. |
|
15 Typically this will include: professional application and games developers, |
|
16 professional service companies, hobbyist developers and students. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
17 <p>The tutorial shows you how to get the development tools (e.g. IDE) and |
|
18 set up your development environment. It then shows you how to create a skeleton |
|
19 application using Carbide.c++ and UI designer, and how to get it up and running |
|
20 on both the <xref href="http://developer.symbian.org/wiki/index.php/Symbian_Emulator" scope="external">Symbian Emulator</xref> and on the device; the whole process |
|
21 takes just a few minutes! </p> |
|
22 <p>Comes with Code: <xref href="http://developer.symbian.org/wiki/index.php/File:HelloSymbianWorld_Example_Code.zip" scope="external">File: HelloSymbianWorld Example Code.zip</xref> </p> |
|
23 <section id="GUID-84D52EE3-58BD-4C55-B07C-52D08CEC42D8"> <title> Set |
|
24 up the development environment</title> <p>Assuming your computer meets |
|
25 the <xref href="http://developer.symbian.org/wiki/index.php/What_are_the_developer_environment_system_requirements%3F" scope="external">System Requirements</xref> then setting up your PC for Symbian |
|
26 C++ development is as simple as downloading and installing (do so in this |
|
27 order): </p><ol> |
|
28 <li id="GUID-1ADD0E23-A910-4FE5-9CC7-3ABE186CDFFC"><p>Perl. See the <xref href="http://developer.symbian.org/wiki/index.php/Kits_Q%26As#How_do_I_install_Perl_on_my_C.2B.2B_development_PC.3F" scope="external">Kits Q&As</xref> for notes on the recommended version.</p></li> |
|
29 <li id="GUID-91F4D7FD-3E98-498A-9BAE-962466EEF83B"><p><xref href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=2&cid=6&iid=22" scope="external">Application Developer Toolkit (ADT)</xref>.</p></li> |
|
30 <li id="GUID-8630F1D8-E45B-4AF9-8F4E-D8906C71FCD3"><p><xref href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=3&cid=7&iid=26" scope="external">Software Developer Kit (SDK)</xref> (full installation) |
|
31 .</p></li> |
|
32 </ol><p>For help installing the SDK please refer to the <xref href="http://developer.symbian.org/wiki/index.php/Symbian%5E1_SDK_Installation_Guide" scope="external">Symbian^1 SDK Installation Guide</xref>.</p><p>You can now |
|
33 create your first application using the Carbide.c++ project wizard, as the |
|
34 following sections will describe. </p> </section> |
|
35 <section id="GUID-4B542973-8F52-41B5-884E-273BB222B783"><title>Starting Carbide.c++</title><p>The |
|
36 Carbide.c++ IDE is installed as part of the free <xref href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=2&cid=6&iid=22" scope="external">Application Developer Toolkit (ADT)</xref> (step 2 in the |
|
37 section above). It is the only supported/official IDE for Symbian C++ development. |
|
38 </p><p>Carbide.c++ is launched from the Windows <b>Start</b> button: <b>All |
|
39 Programs | Symbian Foundation ADT v</b><i><ADTVersion></i> <b>| Carbide.c++ |
|
40 | Carbide.++ v</b><i><CarbideVersion></i>.</p><p> On start, you will be |
|
41 prompted to select a workspace directory. The workspace directory contains |
|
42 any projects you’ve already created in the workspace and their common settings |
|
43 - such as code-formatting options (you can define multiple workspaces in order |
|
44 to separate completely different tasks). If this is the first time you've |
|
45 run Carbide.c++ the workspace will be empty.</p><note> Your Symbian projects |
|
46 must be on the drive where you installed your SDK. You must also ensure that |
|
47 the path name of the workspace does not contain non-alphanumeric characters |
|
48 or spaces. This is because the Symbian toolchain uses command line tools that |
|
49 cannot read special path names.</note><p>If you installed the SDK to drive <codeph>C:\</codeph>, |
|
50 an example of a correct workspace path is: <codeph>C:\Symbian\development\</codeph>. </p><fig id="GUID-8E6698A1-7410-40FA-A109-E92481EE5E9D"> |
|
51 <image href="GUID-37042E73-123B-437B-8EC4-8FC6C3AD6D47_d0e3710_href.png" placement="inline"/> |
|
52 </fig><p>Once Carbide.c++ has started, close the <i>Welcome tab</i> (by clicking |
|
53 the cross shown circled in red below) to see the default workspace.</p><fig id="GUID-F379FA98-BCA3-47BB-851E-8E976A0B194F"> |
|
54 <image href="GUID-329833DA-CB6E-4715-A8E6-AD838DD5A909_d0e3719_href.png" placement="inline"/> |
|
55 </fig></section> |
|
56 <section id="GUID-D06F438D-D17F-4EFD-9CD7-9444472B5676"><title> Creating |
|
57 a Project</title><p>To launch the Carbide.c++ <i>Create New Project Wizard</i> select: <b>File |
|
58 | New | Symbian OS C++ Project</b>. </p><p>Choose the <b>GUI Application with |
|
59 UI Designer</b> application template (see S60 section). This template creates |
|
60 a runnable GUI application with the <i>UI Designer</i> tool enabled (the <i>UI |
|
61 Designer</i> allows views to be created "visually" by drag & dropping |
|
62 standard UI components). </p><fig id="GUID-2859E9EC-2EAC-4E99-9993-8AC91944A952"> |
|
63 <image href="GUID-5E7FB4BD-DF3B-4F97-8394-5E1A6FF8D11B_d0e3746_href.png" placement="inline"/> |
|
64 </fig><p>The <b>Next</b> page of the wizard is "<b>New Symbian OS C++ Project</b>". |
|
65 Define the project name - in this case "HelloWorld". Once again, make sure |
|
66 the project directory is on the same drive as the SDK and does not contain |
|
67 spaces or other special characters. </p><fig id="GUID-969415CB-A861-4E36-A4A5-504C3580A3ED"> |
|
68 <image href="GUID-57CC6419-2800-4E54-8DF6-36EC2617D2FD_d0e3758_href.png" placement="inline"/> |
|
69 </fig><p>The <b>Next</b> page of the wizard is "<b>Symbian OS SDKs</b>". Choose |
|
70 the SDK(s) you want to use for building the project from among those installed |
|
71 to your PC (You can add more SDKs to your project later on). This should include |
|
72 a <xref href="http://developer.symbian.org/wiki/index.php/What_are_the_Kits%3F#Application_Development_SDK" scope="external">Symbian platform SDK</xref>. At time of writing the only |
|
73 C++ Application Development SDK is the Symbian^1 SDK (<b>Note</b>: this is |
|
74 a copy of the S60 5th Edition SDK v1.0). </p><fig id="GUID-0275D0D6-5E8E-4795-A887-F0F21EE509D9"> |
|
75 <image href="GUID-E544A944-5A65-40BD-A3B4-EF14E6132130_d0e3776_href.png" placement="inline"/> |
|
76 </fig><p>By default all build configurations will be selected: </p><ul> |
|
77 <li><p><b>Emulator Debug (WINSCW)</b> builds binaries for the Windows-hosted |
|
78 emulator.</p></li> |
|
79 <li><p><b>Phone Debug | Release (GCCE)</b> builds binaries for the phone using |
|
80 the (free) GCCE compiler that was installed with the <xref href="http://developer.symbian.org/wiki/index.php/What_are_the_Kits%3F#Application_Development_SDK" scope="external">SDK</xref>. </p></li> |
|
81 <li><p><b>Phone Debug | Release (ARMV5)</b> builds binaries for the phone |
|
82 using the <xref href="http://developer.symbian.org/wiki/index.php/ARM_Real_View_Compilation_Tools_(RVCT)_Quick_Start" scope="external">ARM RealView Compiler (RVCT)</xref>. RVCT produces code that |
|
83 is a few percent smaller and faster than the current versions of GCCE supported |
|
84 for Symbian C++ development, but must be separately licensed from ARM. RVCT |
|
85 is primarily used by phone manufacturers to build binaries for device ROM.</p></li> |
|
86 </ul><p>Most developers should simply de-select the ARMV5 options above as |
|
87 shown (the Emulator is needed by all developers, and GCCE is sufficient for |
|
88 most third-party development). </p><p>The <b>Next</b> page of the wizard |
|
89 sets the "<b>Application properties</b>". </p><fig id="GUID-3BD8C48E-AFA5-4D34-9E66-9B374E514635"> |
|
90 <image href="GUID-6CEE397C-78E3-40AE-8D39-3DC0980A932A_d0e3818_href.png" placement="inline"/> |
|
91 </fig><p>Keep the default values. The <b>Baseline SDK</b> defines the common |
|
92 compatibility level of your application. For example, if set to the <b>S60 |
|
93 5th Edition SDK</b>, the UI designer doesn’t let you add elements that are |
|
94 only available in later S60 5th Edition, Feature Pack 1+ SDKs and devices. |
|
95 </p><p>The <b>Next</b> page of the wizard allows you to choose an S60 UI |
|
96 design. Keep the <b>Empty</b> user interface variant. </p><p>The <b>Next</b> page |
|
97 of the wizard "<b>Container Name and Type</b>" has default values that are |
|
98 usually acceptable. </p><note/><p>The <b>Finish</b> button is active |
|
99 in this page. The next page is optional but for the purposes of this tutorial |
|
100 you should click <b>Next</b>, rather than <b>Finish</b>. </p><fig id="GUID-0F3EA856-F629-47BF-88ED-76F355EED12F"> |
|
101 <image href="GUID-A331AA9C-ECEC-4497-B45A-7C08845DE0A4_d0e3858_href.png" placement="inline"/> |
|
102 </fig><p>Even though our application will only use one view, it’s usually |
|
103 better to check "Support View Switching", in order to make the application |
|
104 easier to extend later on. </p><p>The <b>Next</b> page of the wizard "<b>Basic |
|
105 Settings</b>" can be used to customize the project with your name and a copyright |
|
106 notice for every human-readable file. It also allows you to specify the application |
|
107 unique identifier (<xref href="http://developer.symbian.org/wiki/index.php/UID_Q%26As_(Symbian_Signed)" scope="external">UID</xref>). </p><fig id="GUID-7D8B9AD4-F90C-4001-8449-DC282774B4E9"> |
|
108 <image href="GUID-B2B34DFF-6EBE-424A-9480-C9F1CB6E2D56_d0e3875_href.png" placement="inline"/> |
|
109 </fig><p>The UID (actually the <xref href="http://developer.symbian.org/wiki/index.php/UID_Q%26As_(Symbian_Signed)#What_are_SIDs.3F" scope="external">SID</xref>, but for the moment we can ignore the distinction) |
|
110 defines the private area in the file system in which the application can store |
|
111 its data. Among other things the UID can also be used to programmatically |
|
112 identify and/or <xref href="http://developer.symbian.org/wiki/index.php/How_to_programmatically_start_another_application" scope="external">start the application</xref>. </p><p>Carbide.c++ generates |
|
113 a random UID value for you starting with ‘0xE’, which is the range of UIDs |
|
114 reserved for internal development and testing. If you want to release your |
|
115 application to the public, you need to get your own unique UID allocated by <xref href="http://www.symbiansigned.com/" scope="external">Symbian Signed</xref>. |
|
116 </p><p>As we do not intend to release our Hello World application to the |
|
117 public, we’ll simply continue to use the value Carbide.c++ assigned us from |
|
118 the development range (you can change the UID later on, although you must |
|
119 be careful to change every instance of it found within your project - see <xref href="http://developer.symbian.org/wiki/index.php/UID_Q%26As_(Symbian_Signed)#How_do_I_change_the_UID_of_my_application.3F" scope="external">How to change your application's UID</xref>). </p><p>Select <b>Finish</b> to |
|
120 close the wizard and create your application (there is no need to go to the <b>Next</b> (last) |
|
121 page of the wizard as the default values are always acceptable). </p><p>That's |
|
122 it, your workspace should look similar to the screenshot below. </p><fig id="GUID-4E47F468-590F-4608-9608-D026956B6B23"> |
|
123 <image href="GUID-967F99EC-0C6E-468F-BB2D-C175C7F69B67_d0e3907_href.png" placement="inline"/> |
|
124 </fig></section> |
|
125 <section id="GUID-E1F2D586-2546-4EB6-BDD3-518D03698D9B"><title> Targeting |
|
126 the Emulator</title><p>Normally you'll start by building for the emulator; |
|
127 you can use the emulator for most of your development work (it is possible |
|
128 to access the Internet through the emulator, and even simulate GPS). </p><p/><p><b>Building |
|
129 for the Emulator</b></p><ul> |
|
130 <li><p>First set the active build configuration. You can do this by clicking |
|
131 the <b>Manage configurations for the current project</b> icon <image href="GUID-9F4C948B-7A6B-4E90-BBB7-A6CC6F4A6769_d0e3927_href.png" placement="inline"> |
|
132 </image> in the toolbar or by selecting menu: <b>Project | Build Configurations |
|
133 | Set Active</b> and select <b>Emulator Debug</b>. </p></li> |
|
134 </ul><fig id="GUID-ABBC9711-3A90-4EC3-9C7F-56D165816A4A"> |
|
135 <image href="GUID-379D9401-04A2-4A32-A3BF-C6F127E8F074_d0e3939_href.png" placement="inline"/> |
|
136 </fig><ul> |
|
137 <li><p>Then build the current configuration using the <b>Build</b> icon <image href="GUID-CBE1CE3A-5C8B-475D-9F5E-8ACD839EB7E6_d0e3949_href.png" placement="inline"/> in the toolbar or |
|
138 through the menu: <b>Project | Build Project</b> (You can also select a particular |
|
139 configuration to build from the Build icon selector).</p></li> |
|
140 </ul><p><i>Warning: If you get an error message similar to "WARNING: EPOCROOT |
|
141 does not specify an existing directory", you did not place your workspace/project |
|
142 on the same drive as the application development SDK (which is installed by |
|
143 default to C:\). Delete the project and start again. The diagram shows how |
|
144 this might appear in Carbide.c++:</i> </p><fig id="GUID-724EE45B-5DEF-40D5-8AA0-1D84C6DBD7A7"> |
|
145 <image href="GUID-1319CEA4-56D7-45DF-9C22-45291017992E_d0e3961_href.png" placement="inline"/> |
|
146 </fig><p/><p><b>Running on the Emulator</b></p><p>If your application built |
|
147 successfully, click on the <b>Run</b> button <image href="GUID-B574CC84-342C-4613-A628-B32B7876D595_d0e3972_href.png" placement="inline"> |
|
148 </image> (Ctrl + F11). Upon the first launch of your project, Carbide.c++ |
|
149 will ask you which executable you want to launch: </p><fig id="GUID-66C413F8-7482-47FC-A37F-1BFC83A7550E"> |
|
150 <image href="GUID-DCFF3240-F1CD-41FF-B832-990ADF101674_d0e3977_href.png" placement="inline"/> |
|
151 </fig><ul> |
|
152 <li><p>If you choose <i>HelloWorld.exe</i>, the emulator will be launched |
|
153 and your application started automatically. The emulator will close once you |
|
154 exit your application. </p></li> |
|
155 <li><p>If you choose <i>Emulator</i> the emulator (epoc.exe) will be launched |
|
156 and you will need to navigate to the application and start it by clicking |
|
157 on the icon (just as you do when starting an application on a device). We’ll |
|
158 explain how to find the application shortly.</p></li> |
|
159 </ul><p>It may sound more difficult to choose the second method, but it has |
|
160 some advantages. You can leave the emulator running if you are only doing |
|
161 small edits in your source code – simply close your application in the emulator, |
|
162 recompile and restart your app through the emulator’s menu. You’ll also see |
|
163 any error messages that may be shown when you exit the application, because |
|
164 the emulator will not shut down instantly after you exit Hello World in the |
|
165 emulator. Those error messages are also visible in Carbide.c++’s console window. |
|
166 </p><p>When the emulator starts for the first time you might have to wait |
|
167 for several minutes before it is completely ready for use. Successive starts |
|
168 will be a lot faster, because Windows caches most of the emulator DLLs. </p><fig id="GUID-A0A0A882-BC03-401B-A701-8EBEBC6D7BCE"> |
|
169 <image href="GUID-3FFF726B-D158-4EDF-B950-4B58467F210B_d0e4001_href.png" placement="inline"/> |
|
170 </fig><p><i>If you decide to launch the emulator and navigate to your application:</i> First, |
|
171 open the menu through the <b>S60</b> menu symbol on the bottom left of the |
|
172 screen. Your own application will be located at the bottom of the <b>Applications</b> folder; |
|
173 use your mouse to navigate in the emulator’s menus. </p><p>When you launch |
|
174 your application, the main pane will be empty. As you can see, the example |
|
175 application the wizard has created already supports a full user interface |
|
176 and handles input from the left and right softkeys at the bottom of the screen. </p><fig id="GUID-B81BC36D-7EA2-4B2A-9610-4A7F12684802"> |
|
177 <image href="GUID-E5962E2D-C2D1-40EC-96FB-79CA6D10417F_d0e4017_href.png" placement="inline"/> |
|
178 </fig><p/><p><b>Debugging on the Emulator</b></p><p>The Emulator is the |
|
179 default debug target - you simply click the Debug button <image href="GUID-4C6B9697-B69C-49D5-AD23-D7C0053BED3A_d0e4025_href.png" placement="inline"> |
|
180 </image>. </p><p>Debugging on the Emulator is not covered further in this |
|
181 tutorial. See <b>Carbide.c++ User Guide > Debugging projects</b> for extensive |
|
182 information on debugging using Carbide.c++. </p></section> |
|
183 <section id="GUID-8ADA0364-18BF-4392-A448-3C5513B3C49B"><title>Targeting the |
|
184 Device</title><p>The emulator can be used for most of your development work. |
|
185 However, some situations still require a real device – for example, when you |
|
186 want to use the camera or the acceleration sensor.</p><p><i><b>Tip</b>: You |
|
187 should test your applications on the phone from time to time, even if it is |
|
188 fully supported by the emulator.</i></p><p>When you've finished development, |
|
189 you'll also want to build a release version; stripping out debug code and |
|
190 symbol information to make your binaries smaller and more efficient. </p><p/><p><b>Building |
|
191 for the Device</b></p><p>To tell the IDE that you want to build for the device, |
|
192 change the active build configuration to a phone-release configuration for |
|
193 GCCE (unless you have the <xref href="http://developer.symbian.org/wiki/index.php/ARM_Real_View_Compilation_Tools_(RVCT)_Quick_Start" scope="external">RVCT compiler</xref>). As before, use the <b>Manage configurations |
|
194 for current project</b> toolbar icon (<image href="GUID-9F4C948B-7A6B-4E90-BBB7-A6CC6F4A6769_d0e4058_href.png" placement="inline"> |
|
195 </image>) to select the active-build configuration. </p><fig id="GUID-0B5929C0-6DAC-4859-8B2A-BC3225507685"> |
|
196 <image href="GUID-BD1DBD2B-A4C1-4769-B454-2A9B4D056446_d0e4063_href.png" placement="inline"/> |
|
197 </fig><p>Next, choose to build the current configuration using the toolbar <b>Build</b> icon <image href="GUID-CBE1CE3A-5C8B-475D-9F5E-8ACD839EB7E6_d0e4070_href.png" placement="inline"/>(or in the menu: <b>Project |
|
198 | Build Project</b>). </p><p>This will automatically compile the project |
|
199 using the GCCE compiler and create an installation package – a file called <codeph>HelloWorld.sisx</codeph> in |
|
200 your project's <codeph>\HelloWorld\sis\</codeph> directory. You now need to |
|
201 transfer this file to your phone to install it. </p><p><i><b>Tip</b>: Use |
|
202 Carbide.c++ to find the file on your PC. Navigate to the file in the project |
|
203 view, then right-click on it and select <b>Show in Explorer</b>.</i> </p><p>Don’t |
|
204 forget to switch back to the <b>Emulator Debug</b> build configuration when |
|
205 you continue development! </p><p/><p><b>Installing on the Device</b></p><p> |
|
206 You can use the PC Suite that came with your phone to install the application |
|
207 on your device</p><ul> |
|
208 <li><p>Ensure that the PC Suite is installed and running</p></li> |
|
209 <li><p>Connect your device to the PC via Bluetooth or USB and add the phone |
|
210 to the known devices in the PC Suite (if necessary).</p></li> |
|
211 <li><p>Double-click the <codeph>.sisx</codeph> file in Windows Explorer or |
|
212 the Project Explorer window of Carbide.c++.</p></li> |
|
213 </ul><p>If the PC Suite is not installed on your PC, you can send the file |
|
214 to the phone via Bluetooth or IrDA (if available): </p><ul> |
|
215 <li><p>Locate the <codeph>.sisx</codeph> file in Windows Explorer</p></li> |
|
216 <li><p>Right-click on it and select <b>Send to | Bluetooth device</b>.</p></li> |
|
217 </ul><p>You will be prompted to install the application when you open the |
|
218 message. </p><p/><p><i><b>Warning</b>: If you get a </i><keyword>Certificate |
|
219 Error</keyword> <i>message when you try to install the application, then your |
|
220 phone has been configured to prevent installation of self-signed sis files. |
|
221 To change this behavior, go to <b>Settings - Application manager - Installation |
|
222 settings - Software installation</b> and change the setting from <b>Signed |
|
223 Only</b> to <b>All</b>. For other errors received upon installation, consult |
|
224 the <xref href="http://developer.symbian.org/wiki/index.php/Getting_Started_with_Debugging_on_the_Device.dita">installation |
|
225 error troubleshooting guide</xref>.</i></p><p/><p><b>Debugging on the Device</b></p><p> |
|
226 Debugging on a production phone is covered in the topic: <xref href="http://developer.symbian.org/wiki/index.php/Getting_Started_with_Debugging_on_the_Device" scope="external">Getting Started with Debugging on the Device</xref>. </p></section> |
|
227 <section id="GUID-832FBA52-70D7-47B8-AA09-76CD10F75B15"><title>Building on |
|
228 the Command Line</title><p>It is also possible to build your applications |
|
229 using the command-line based Symbian toolchain. If you've never done so before |
|
230 you will first need to set up the environment using the tool provided: </p><ul> |
|
231 <li><p>Select the windows start button and select: <b>Start | All Programs |
|
232 | Symbian Foundation ADT v1.0 | Carbide.c++ | Configure environment for WINSCW |
|
233 command line</b></p></li> |
|
234 </ul><p> Open a command prompt in your project's /group/ folder (where the |
|
235 bld.inf project file is located) and do: </p><codeblock xml:space="preserve">bldmake bldfiles |
|
236 abld build</codeblock><p> The command <codeph>bldmake bldfiles</codeph> creates |
|
237 a batch file <codeph>abld.bat</codeph> based on the component-definition file |
|
238 (<codeph>bld.inf</codeph>) and the project-definition file(s) (<codeph>.mmp</codeph>). |
|
239 The <codeph>abld build</codeph> command uses the batch file to build <i>all</i> the |
|
240 default targets (i.e. for gcce and Emulator). </p><p>You can build just one |
|
241 target using </p><p><codeblock xml:space="preserve">abld build <target></codeblock></p><p>For |
|
242 example, "<codeph>abld build winscw udeb</codeph>" builds just the emulator |
|
243 debug variant. </p><p>You can start the emulator by selecting its executable |
|
244 in your file system (it will be located at <codeph>SDK DIRECTORY\epoc32\release\winscw\udeb\epoc.exe</codeph>). |
|
245 </p><p>An overview of the commands and the generated outputs is shown below. |
|
246 There is also extensive documentation on the build process in the <xref href="http://developer.symbian.org/main/documentation/reference/s%5E3/doc_source/ToolsAndUtilities96/BuildTools/HowtoBuildProcess.guide.html" scope="external">Symbian Developer Library: Symbian OS build process</xref>.</p><fig id="GUID-C3027C70-8C7A-4C0A-BE2F-C257EA462D73"> |
|
247 <image href="GUID-358412B8-8B98-419F-99E6-28A01ED99B79_d0e4232_href.png" placement="inline"/> |
|
248 </fig></section> |
|
249 <section id="GUID-1E8CC146-B76A-476D-BF65-DFBB6B31D183"><title>Troubleshooting</title><p> |
|
250 For the vast majority of users the preceding instructions can be followed |
|
251 through without issue. If however you have any build issues, then please follow |
|
252 the following instructions to check that your <xref href="http://developer.symbian.org/wiki/index.php/How_do_I_test_that_my_development_environment_is_set_up_correctly%3F.dita">environment is set up correctly</xref> and <xref href="http://developer.symbian.org/wiki/index.php/Development_Environment_Troubleshooting_Guide" scope="external">troubleshoot</xref> any problems that may arise.</p></section> |
|
253 <section id="GUID-A303EA17-F198-42A2-B41C-5C43B4D88B9E"><title>Summary</title><p>In |
|
254 this tutorial you set up your development environment, learned how to create |
|
255 a skeleton application using Carbide.c++ <i>UI Designer</i>, and how to get |
|
256 it up and running on both the Symbian platform emulator and on the device. |
|
257 </p><p>In <xref href="GUID-0C814ED6-3F64-4E0E-9C47-654AEDADBA90.dita">Going Beyond |
|
258 Hello: A Tutorial for Symbian C++ Applications</xref> we will extend the basic |
|
259 skeleton to create a small paint application, along the way learning more |
|
260 about the application frameworks (e.g. defining menus, how to handle touch-screen |
|
261 events, drawing to the screen etc.).</p></section> |
|
262 <section id="GUID-478AF935-A7FB-4F58-A1F4-E17FE57DDF72"><title>Related Info</title><p> |
|
263 Further reading: </p><ul> |
|
264 <li><p><xref href="GUID-0C814ED6-3F64-4E0E-9C47-654AEDADBA90.dita">Going Beyond |
|
265 Hello: A Tutorial for Symbian C++ Applications</xref> provides a step by step |
|
266 guide to creating your first "real application", covering the key elements |
|
267 of the application framework. </p></li> |
|
268 <li><p><xref href="http://developer.symbian.org/wiki/index.php/Fundamentals_of_Symbian_C%2B%2B" scope="external">Fundamentals of Symbian C++</xref> provides all the essential |
|
269 information you need to understand Symbian C++.</p></li> |
|
270 </ul><p>About the Kits:</p><ul> |
|
271 <li><p><xref href="http://developer.symbian.org/wiki/index.php/What_are_the_Kits%3F.dita">What |
|
272 are the Kits?</xref> explains the <xref href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=2&cid=6&iid=22" scope="external">ADT</xref> and <xref href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=3&cid=7&iid=26" scope="external">SDK</xref>.</p></li> |
|
273 <li><p><xref href="http://developer.symbian.org/wiki/index.php/Kits_Q%26As" scope="external">Kits Q&As</xref>.</p></li> |
|
274 <li><p><xref href="http://developer.symbian.org/wiki/index.php/Getting_Started_with_Debugging_on_the_Device" scope="external">Getting Started with Debugging on the Device</xref>.</p></li> |
|
275 <li><p><xref href="http://developer.symbian.org/wiki/index.php/Symbian%5E1_SDK_Release_Notes" scope="external">Symbian^1 SDK Release Notes</xref>.</p></li> |
|
276 <li><p><xref href="http://developer.symbian.org/wiki/index.php/Symbian%5E1_SDK_Installation_Guide" scope="external">Symbian^1 SDK Installation Guide</xref>.</p></li> |
|
277 </ul></section> |
|
278 </conbody></concept> |