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 & dropping |
61 Designer</i> allows views to be created "visually" by drag & dropping |
62 standard UI components). </p><fig id="GUID-2859E9EC-2EAC-4E99-9993-8AC91944A952"> |
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 > Debugging projects</b> for extensive |
181 tutorial. See <b>Carbide.c++ User Guide > 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> |