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&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&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&cid=6&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&cid=6&iid=22" scope="external">Application Developer Toolkit (ADT)</xref>.</p></li> |
30 <li id="GUID-8630F1D8-E45B-4AF9-8F4E-D8906C71FCD3"><p><xref href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=3&cid=7&iid=26" scope="external">Software Developer Kit (SDK)</xref> (full installation) |
30 <li id="GUID-8630F1D8-E45B-4AF9-8F4E-D8906C71FCD3"><p><xref href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=3&cid=7&iid=26" scope="external">Software Developer Kit (SDK)</xref> (full installation) |
31 .</p></li> |
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&cid=6&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&cid=6&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><ADTVersion></i> <b>| Carbide.c++ |
39 Symbian C++ development. </p><p>Carbide.c++ is launched from the |
40 | Carbide.++ v</b><i><CarbideVersion></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><ADTVersion></i> <b>| Carbide.c++ | Carbide.++ v</b><i><CarbideVersion></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 & dropping |
61 views to be created "visually" by drag & 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 > 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 > 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 <target></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 <target></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&cid=6&iid=22" scope="external">ADT</xref> and <xref href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=3&cid=7&iid=26" scope="external">SDK</xref>.</p></li> |
272 are the Kits?</xref> explains the <xref href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=2&cid=6&iid=22" scope="external">ADT</xref> and <xref href="http://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=3&cid=7&iid=26" scope="external">SDK</xref>.</p></li> |
|
273 <li><p><xref href="http://developer.symbian.org/wiki/index.php/Kits_Q%26As" scope="external">Kits Q&As</xref>.</p></li> |
267 <li><p><xref href="http://developer.symbian.org/wiki/index.php/Kits_Q%26As" scope="external">Kits Q&As</xref>.</p></li> |
274 <li><p><xref href="http://developer.symbian.org/wiki/index.php/Getting_Started_with_Debugging_on_the_Device" scope="external">Getting Started with Debugging on the Device</xref>.</p></li> |
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> |