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