Symbian3/SDK/Source/GUID-301E5FAA-A1C3-4FD7-9D84-DAA61C66981B.dita
changeset 8 ae94777fff8f
parent 7 51a74ef9ed63
child 13 48780e181b38
equal deleted inserted replaced
7:51a74ef9ed63 8:ae94777fff8f
    46 must be on the drive where you installed your SDK. You must also ensure that
    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
    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
    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>,
    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">
    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"/>
    51 <image href="GUID-37042E73-123B-437B-8EC4-8FC6C3AD6D47_d0e4458_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
    53 the cross shown circled in red below) to see the default workspace.</p><fig id="GUID-F379FA98-BCA3-47BB-851E-8E976A0B194F">
    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"/>
    54 <image href="GUID-329833DA-CB6E-4715-A8E6-AD838DD5A909_d0e4467_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 Wizard</i> select: <b>File
    58 | New | Symbian OS C++ Project</b>. </p><p>Choose the <b>GUI Application with
    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
    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
    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
    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">
    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"/>
    63 <image href="GUID-5E7FB4BD-DF3B-4F97-8394-5E1A6FF8D11B_d0e4494_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 C++ Project</b>".
    65 Define the project name - in this case "HelloWorld". Once again, make sure
    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
    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">
    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"/>
    68 <image href="GUID-57CC6419-2800-4E54-8DF6-36EC2617D2FD_d0e4506_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
    70 the SDK(s) you want to use for building the project from among those installed
    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
    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
    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
    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">
    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"/>
    75 <image href="GUID-E544A944-5A65-40BD-A3B4-EF14E6132130_d0e4524_href.png" placement="inline"/>
    76 </fig><p>By default all build configurations will be selected:      </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
    77 <li><p><b>Emulator Debug (WINSCW)</b> builds binaries for the Windows-hosted
    78 emulator.</p></li>
    78 emulator.</p></li>
    79 <li><p><b>Phone Debug | Release (GCCE)</b> builds binaries for the phone using
    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>
    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>
    85 is primarily used by phone manufacturers to build binaries for device ROM.</p></li>
    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
    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
    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
    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">
    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"/>
    90 <image href="GUID-6CEE397C-78E3-40AE-8D39-3DC0980A932A_d0e4566_href.png" placement="inline"/>
    91 </fig><p>Keep the default values. The <b>Baseline SDK</b> defines the common
    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
    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
    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.
    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
    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
    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
    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
    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
    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">
   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"/>
   101 <image href="GUID-A331AA9C-ECEC-4497-B45A-7C08845DE0A4_d0e4606_href.png" placement="inline"/>
   102 </fig><p>Even though our application will only use one view, it’s usually
   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
   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
   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
   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
   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">
   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"/>
   108 <image href="GUID-B2B34DFF-6EBE-424A-9480-C9F1CB6E2D56_d0e4623_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)
   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
   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
   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
   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
   113 a random UID value for you starting with ‘0xE’, which is the range of UIDs
   118 the development range (you can change the UID later on, although you must
   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
   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)
   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
   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">
   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"/>
   123 <image href="GUID-967F99EC-0C6E-468F-BB2D-C175C7F69B67_d0e4655_href.png" placement="inline"/>
   124 </fig></section>
   124 </fig></section>
   125 <section id="GUID-E1F2D586-2546-4EB6-BDD3-518D03698D9B"><title>  Targeting
   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;
   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
   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
   128 to access the Internet through the emulator, and even simulate GPS). </p><p/><p><b>Building
   129 for the Emulator</b></p><ul>
   129 for the Emulator</b></p><ul>
   130 <li><p>First set the active build configuration. You can do this by clicking
   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">
   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 </image> in the toolbar or by selecting menu: <b>Project | Build Configurations
   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>
   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_d0e3412_href.png" placement="inline"/>
   135 <image href="GUID-379D9401-04A2-4A32-A3BF-C6F127E8F074_d0e4687_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_d0e3422_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_d0e4697_href.png" placement="inline"/> in the toolbar or
   138 through the menu: <b>Project | Build Project</b> (You can also select a particular
   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>
   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
   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
   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
   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
   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">
   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"/>
   145 <image href="GUID-1319CEA4-56D7-45DF-9C22-45291017992E_d0e4709_href.png" placement="inline"/>
   146 </fig><p/><p><b>Running on the Emulator</b></p><p>If your application built
   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">
   147 successfully, click on the <b>Run</b> button <image href="GUID-B574CC84-342C-4613-A628-B32B7876D595_d0e4720_href.png" placement="inline">
   148 </image> (Ctrl + F11). Upon the first launch of your project, Carbide.c++
   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">
   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"/>
   150 <image href="GUID-DCFF3240-F1CD-41FF-B832-990ADF101674_d0e4725_href.png" placement="inline"/>
   151 </fig><ul>
   151 </fig><ul>
   152 <li><p>If you choose <i>HelloWorld.exe</i>, the emulator will be launched
   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
   153 and your application started automatically. The emulator will close once you
   154 exit your application. </p></li>
   154 exit your application. </p></li>
   155 <li><p>If you choose <i>Emulator</i> the emulator (epoc.exe) will be launched
   155 <li><p>If you choose <i>Emulator</i> the emulator (epoc.exe) will be launched
   164 the emulator will not shut down instantly after you exit Hello World in the
   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.
   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
   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
   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">
   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"/>
   169 <image href="GUID-3FFF726B-D158-4EDF-B950-4B58467F210B_d0e4749_href.png" placement="inline"/>
   170 </fig><p><i>If you decide to launch the emulator and navigate to your application:</i> First,
   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
   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;
   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
   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
   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
   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">
   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"/>
   177 <image href="GUID-E5962E2D-C2D1-40EC-96FB-79CA6D10417F_d0e4765_href.png" placement="inline"/>
   178 </fig><p/><p><b>Debugging on the Emulator</b></p><p>The Emulator is the
   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">
   179 default debug target - you simply click the Debug button <image href="GUID-4C6B9697-B69C-49D5-AD23-D7C0053BED3A_d0e4773_href.png" placement="inline">
   180 </image>.  </p><p>Debugging on the Emulator is not covered further in this
   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
   181 tutorial. See <b>Carbide.c++ User Guide &gt; Debugging projects</b> for extensive
   182 information on debugging using Carbide.c++. </p></section>
   182 information on debugging using Carbide.c++. </p></section>
   183 <section id="GUID-8ADA0364-18BF-4392-A448-3C5513B3C49B"><title>Targeting the
   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.
   184 Device</title><p>The emulator can be used for most of your development work.
   189 you'll also want to build a release version; stripping out debug code and
   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
   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,
   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
   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
   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">
   194 for current project</b> toolbar icon (<image href="GUID-9F4C948B-7A6B-4E90-BBB7-A6CC6F4A6769_d0e4806_href.png" placement="inline">
   195 </image>) to select 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_d0e3536_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 toolbar <b>Build</b> icon <image href="GUID-CBE1CE3A-5C8B-475D-9F5E-8ACD839EB7E6_d0e3543_href.png" placement="inline"/>(or in the menu: <b>Project
   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 | Build Project</b>).  </p><p>This will automatically compile the 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
   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
   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
   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
   202 Carbide.c++ to find the file on your PC. Navigate to the file in the project
   242 example, "<codeph>abld build winscw udeb</codeph>" builds just the emulator
   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
   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>).
   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.
   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">
   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"/>
   247 <image href="GUID-358412B8-8B98-419F-99E6-28A01ED99B79_d0e4980_href.png" placement="inline"/>
   248 </fig></section>
   248 </fig></section>
   249 <section id="GUID-1E8CC146-B76A-476D-BF65-DFBB6B31D183"><title>Troubleshooting</title><p> 
   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
   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
   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>
   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>