Symbian3/SDK/Source/GUID-301E5FAA-A1C3-4FD7-9D84-DAA61C66981B.dita
changeset 7 51a74ef9ed63
child 8 ae94777fff8f
equal deleted inserted replaced
6:43e37759235e 7:51a74ef9ed63
       
     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&amp;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&amp;cid=6&amp;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&amp;cid=7&amp;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&amp;cid=6&amp;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>&lt;ADTVersion&gt;</i> <b>| Carbide.c++
       
    40 | Carbide.++ v</b><i>&lt;CarbideVersion&gt;</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_d0e3183_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_d0e3192_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 &amp; dropping
       
    62 standard UI components). </p><fig id="GUID-2859E9EC-2EAC-4E99-9993-8AC91944A952">
       
    63 <image href="GUID-5E7FB4BD-DF3B-4F97-8394-5E1A6FF8D11B_d0e3219_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_d0e3231_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_d0e3249_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_d0e3291_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_d0e3331_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_d0e3348_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_d0e3380_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_d0e3400_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_d0e3412_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_d0e3422_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_d0e3434_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_d0e3445_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_d0e3450_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_d0e3474_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_d0e3490_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_d0e3498_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 &gt; 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_d0e3531_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_d0e3536_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_d0e3543_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 &lt;target&gt;</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_d0e3705_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&amp;cid=6&amp;iid=22" scope="external">ADT</xref> and <xref href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=3&amp;cid=7&amp;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&amp;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>