core/com.nokia.carbide.cpp.doc.user/html/tasks/CreatingNewProjects.html
branchRCL_2_4
changeset 917 e698bb75bbab
parent 0 fb279309251b
equal deleted inserted replaced
913:f1dffcbe3e11 917:e698bb75bbab
     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     2 <html>
     2 <html>
     3 <head>
     3 <head>
     4   <title>Creating New Projects in Tasks</title>
     4   <title>Creating New Projects</title>
     5 <link rel="StyleSheet" href="../../book.css" type="text/css"/>
     5 <link rel="StyleSheet" href="../../book.css" type="text/css"/>
     6 </head>
     6 </head>
     7 <body>
     7 <body>
     8 <h2>Creating New Projects</h2>
     8 <h2>Creating New Projects</h2>
     9   <div class="Bodytext">
     9   <div class="Bodytext">
    10     <p> A new Symbian OS C++ project can be created using the <b>New Project
    10     <p>New  projects are created using the <b>New Project Wizard</b>. Carbide includes a number of templates that make creating projects for different SDKs and executables quick and easy.</p>
    11     Wizard</b>. A number of templates are available that support different SDKs and executable types. </p>
    11     <p class="note"><b>NOTE</b> You must have  at least one recognized SDK installed before you can create a project. See the <a href="../reference/SDKPreferences.html">SDK Preferences panel</a> to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have is not recognized, you may still be able to <a href="sdks/sdk_add.htm">add</a> it to the Discovered Symbian OS SDK list.</p>
    12     <p class="note"><b>NOTE</b> There must be at least one recognized SDK installed before you can create a project. See the <a href="../reference/SDKPreferences.html">SDK Preferences panel</a> to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have is not recognized, you may still be able to <a href="sdks/sdk_add.htm">add</a> it to the Discovered Symbian OS SDK list.</p>
       
    13     <p class="note"><b>NOTE</b> When creating or importing projects the sources and SDK must be on the same drive. This is due to many of the internal SDK tools using an implicit working drive to calculate paths (e.g. \epoc32\tools). Avoid spaces in SDK paths since this will also cause problems.</p>
    12     <p class="note"><b>NOTE</b> When creating or importing projects the sources and SDK must be on the same drive. This is due to many of the internal SDK tools using an implicit working drive to calculate paths (e.g. \epoc32\tools). Avoid spaces in SDK paths since this will also cause problems.</p>
       
    13     <div class="step">
    14     <h3>Creating New Symbian OS C++ Projects</h3>
    14     <h3>Creating New Symbian OS C++ Projects</h3>
    15     <div class="step">
    15     <ol>
    16       <ol>
    16       <li class="step">Select <b>File &gt; New &gt; Symbian OS C++ Project</b> to invoke the <b>New Project</b> wizard.</span></li>
    17       <li style="font-weight: normal;"> Select <b>File
    17         <p><img src="../images/step1.png" width="546" height="142" alt="" ></p>
    18 &gt; New &gt; Symbian OS C++ Project</b> to invoke the <b>New Project</b> wizard.</li>
    18         <li>The <b class="step">New Symbian OS C++ Project</b> wizard appears. Select a template related to an installed SDK.</li>
    19       <div align="center">
    19       <p>A project template provides the initial source files and project settings appropriate for the chosen project type. A brief description of each template appears below the list. The project type determines the type of program that you are writing.</p>
    20         <p><img src="../images/step1.png" width="506" height="318" alt="" ></p>
    20       <p class="note"><b>NOTE</b> If the selected template requires user input, additional wizard pages will collect data from the user before creating the project.</p>
    21         <p>&nbsp;</p>
    21       <p>Checkmark the <b>Filter templates based on enabled SDKs</b> option to only list  SDKs enabled in the <a href="../reference/SDKPreferences.html">SDK Preferences</a> panel. Uncheck this option to list  SDKs that can be used with Carbide. Click <b>Next</b>.</p>
    22       </div>
    22       <p align="center"><img src="../images/step2.png" width="500" height="567" alt="" ></p>
    23       <li style="font-weight: normal;">The <b>New Symbian OS C++ Project</b> wizard appears. Select a template related to an installed SDK. Select the &quot;Filter templates based on enabled SDKs&quot; option to list only SDKs enabled in the <a href="../reference/SDKPreferences.html">SDK Preferences panel</a>. Unselect this option to list  SDKs that can be used with Carbide. Click Next.</li>
    23       <li>Enter a name for your project. </li>
    24       <p>A project template provides an initial set of source files and project settings appropriate for the project type that you have chosen. The text at the bottom of the window provides a brief description of each template. The project type determines the type of program that you are writing.</p>
    24       <p>Checkmark the <b>Use default location</b> option to save the project in the current workspace by default or uncheck it to save to another location. Enter the path in the <b>Location</b> field or click <b>Browse</b> button to locate the directory. Click <b>Next</b>.</p>
    25       <p class="note"><b>NOTE</b><b> </b>If the selected template requires user input, additional wizard pages will collect data from the user before creating the project. </p>
    25       <p align="center"><span class="Image"><img src="images/new_proj_name_location.png" alt="new project" width="500" height="567"></span><span class="Image"><br>
    26       <p align="center"><img src="../images/step2.png" width="500" height="567" alt="" > </p>
       
    27       <p align="center">&nbsp;</p>
       
    28       <li style="font-weight: normal;">Enter a name for your project. Enable the <b>Use default location</b> option to save the project in the current workspace. Unselect this option to save your project to another location. Enter the path in the <b>Location</b> field or click Browse button to locate the directory. Click <b>Next</b>.</li>
       
    29       <p align="center"><span class="Image"><img src="images/new_proj_name_location.png" alt="new project" width="500" height="400"></span></p>
       
    30       <p class="note"><strong>NOTE</strong> There will be two builders available in Carbide, one for SBSv1 (current version of Symbian Build System) and  one for SBSv2 (newer version). The Builder option will only be displayed when a SBSv2  installation is detected.</p>
       
    31       <p class="Image">SBSv2  only works with recent versions of Symbian OS9.5. Both  SBSv1 and SBSv2 are GNU make based build systems.&nbsp; SBSv1 uses Perl to generate make files,  while SBSv2 uses Python. Select the appropriate builder for your project.</p>
       
    32       When building for  SBSv2, the builder will set EPOCROOT to the absolute path (including drive  letter) to the kit for the active build configuration.&nbsp; It will also add the path to the sbs bin  directory to the start of the PATH variable.&nbsp;  This is derived from the SBS_HOME environment variable.
       
    33       <p class="Image">For SBSv2, all  build configurations (platform/target), including the built-in platforms  (WISNCW, ARMV5), are declared in xml files in the \sbs\lib\config directory.  The Build  Configurations selection page will display only those kits  known to support SBSv2.<span class="Image"><br>
       
    34       </span></p>
    26       </span></p>
    35       <li style="font-weight: normal;">Select the <b>SDKs and Build Configurations</b>. Enable the <b>Filter SDKs based on selected template</b> option to show only the build configurations based on the SDK template you previously selected. Uncheck this option to show all enabled SDKs and their related build configurations.</li>
    27       <li>Select the <b>SDKs and Build Configurations</b>. </li>
    36     
    28       <p>Checkmark the <b>Filter SDKs based on selected template</b> option to only show  build configurations based on the selected SDK template, or uncheck to show all enabled SDKs and their related build configurations.</p>
    37   <p align="center"><img src="../images/step4.png" width="500" height="500" alt="" ></p>
    29       <p align="center"><img src="../images/step4.png" width="500" height="567" alt="" ></p>
    38       <p class="Image">The Symbian OS SDKs wizard page shows a tree of the SDKs that are available to be used, and for each
    30       <p class="Image">The Symbian OS SDKs wizard page shows a tree of the SDKs and the type of builds available within that SDK. Select a single SDK
    39         SDK, the type of builds that can be done. You can select a single SDK
    31         if the program you are developing is for just one version of a platform,
    40         if you are developing the program for just one version of a platform,
    32       or select multiple SDKs to build the program for multiple build platforms or SDK versions.</p>
    41       or multiple SDKs if you intend to build your program for multiple build platforms or SDK versions.</p>
    33       <p> The build configuration allows you to specify the compiler(s) to
    42       <p> The build configuration allows you to choose the compiler(s) to
    34         do the build, and whether debug and/or release builds are required. For this example we recommend using the Emulator Debug version as the <a href="../concepts/build_configurations.htm">build configuration</a>. Later, you can <a href="projects/prj_set_build_tgt.htm">switch</a> to another build configuration to create the project for a specific device.</p>
    43       do the build, and whether debug and/or release builds are required. For this example we recommend using the Emulator Debug version as the <a href="../concepts/build_configurations.htm">build configuration</a>. Later, you can <a href="projects/prj_set_build_tgt.htm">switch</a> to another build configuration to create the project for a specific device.</p>
    35       <p> Click <b>Next</b>.</p>
    44       <li span style="font-weight: normal;">Click <b>Next</b> to set project properties in the <b>Basic Settings</b> page: </li>
    36       <li>Set the project properties in the <b>Basic Settings</b> page. </li>
    45     <div align="center"><img src="../images/step5.png" width="500" height="500" alt="" >        </div>
    37       <div align="center"><img src="../images/step5.png" width="500" height="567" alt="" >        </div>
    46     <blockquote>
    38       <blockquote>
    47         <p align="left" class="note"><b>NOTE</b> The basic properties for a project may change based on the template selected for a particular project type. </p>
    39         <p align="left" class="note"><b>NOTE</b> The basic properties for a project may change based on the template selected for a particular project type. </p>
    48         <p align="left" style="font-weight: normal;">Fill in the applicable fields, which
    40         <p align="left" style="font-weight: normal;">Fill in the applicable fields, which
    49               may include UID2, UID3, Vendor ID, Author, Support Email, Copyright
    41               may include UID2, UID3, Vendor ID, Author, Support Email, Copyright
    50         notice and&nbsp; Target Type for console EXEs.</p>
    42         notice and Target Type for console EXEs.</p>
    51     
    43     
    52   <p>Application UID (or UID3) is used to uniquely identify the binary (EXE or DLL) within the system. The purpose of UID 3 is to prevent one executable from interfering the operation of another executable.</p>
    44   <p>Application UID (or UID3) is used to uniquely identify the binary (EXE or DLL) within the system. The purpose of UID 3 is to prevent one executable from interfering the operation of another executable.</p>
    53       <p>    A Vendor ID (VID) is a unique identifier for the organization that is supplying the program. In versions of Symbian OS with platform security, a program can read a VID at runtime to check that a binary comes from a particular source. In most cases, the VID should be zero, meaning that source of the executable is not required for any security checks.</p>
    45       <p>    A Vendor ID (VID) is a unique identifier for the organization that is supplying the program. In versions of Symbian OS with platform security, a program can read a VID at runtime to check that a binary comes from a particular source. In most cases, the VID should be zero, meaning that source of the executable is not required for any security checks.</p>
    54       <p style="font-weight: normal;">UID 2 is a unique identifier number that identifies the type of interface that the
    46       <p style="font-weight: normal;">UID 2 is a unique identifier number that identifies the type of interface that the
    55           project implements. The values are defined by Symbian</p>
    47           project implements. The values are defined by Symbian</p>
    57   <ul>
    49   <ul>
    58           <li>For GUI applications, it is always 0x100039CE</li>
    50           <li>For GUI applications, it is always 0x100039CE</li>
    59           <li>For static interface DLLs, the UID 2 is always 0x1000008d</li>
    51           <li>For static interface DLLs, the UID 2 is always 0x1000008d</li>
    60           <li>For polymorphic DLLs, the UID2 is defined by the framework which is being implemented</li>
    52           <li>For polymorphic DLLs, the UID2 is defined by the framework which is being implemented</li>
    61         </ul>
    53         </ul>
    62       Author, Copyright notice, and Text to be shown are used in comments created by the wizard in the source code.    </blockquote>
    54       Author, Copyright notice, and Text to be shown are used in comments created by the wizard in the source code.    
    63     <blockquote>
       
    64       <p><span style="font-weight: normal;"> For more information on UIDs
    55       <p><span style="font-weight: normal;"> For more information on UIDs
    65           and Vendor IDs, see </span><a
    56           and Vendor IDs, see </span><a
    66  href="https://www.symbiansigned.com/app/page/uidfaq"
    57  href="https://www.symbiansigned.com/app/page/uidfaq"
    67  style="font-weight: normal;">Symbian Signed</a>,
    58  style="font-weight: normal;">Symbian Signed</a>,
    68           <span style="font-weight: normal;">which allocates these values.</span>        </p>
    59           <span style="font-weight: normal;">which allocates these values.</span>        </p>
    69     </blockquote>
    60       </blockquote>
    70     
    61       <li span style="font-weight: normal;">
    71     <li span style="font-weight: normal;">
       
    72         Click <b>Next</b> to move to the <b>Project Directories</b> page.</li>
    62         Click <b>Next</b> to move to the <b>Project Directories</b> page.</li>
    73         <div class="Figure">
    63         <div class="Figure">
    74           <p align="center" class="Image"><img src="../images/step6.png" width="500" height="500" alt="" ><br>
    64           <p align="center" class="Image"><img src="../images/step6.png" width="500" height="567" alt="" ><br>
    75           </p>
    65           </p>
    76           <p class="note" style="font-weight: normal;"> <b>NOTE</b> The project directories depends on the template
    66           <p class="note" style="font-weight: normal;"> <b>NOTE</b> The project directories depends on the selected template. That is, the directories required to store project data may
    77       selected. That is, the directories required to store project data may
    67       change based on the template used. </p>
    78       change based on the template selected. </p>
       
    79         </div>
    68         </div>
    80       <li style="font-weight: normal;">Accept the defaults or enter the names for Include and Source folders to be created under the project root directory. Generated files will be copied to these directories.      </li>
    69       <p>Accept the defaults or enter the names for Include and Source folders to be created under the project root directory. Generated files will be copied to these directories.</p>
    81       <li style="font-weight: normal;"> Click <b>Finish</b> to create the project, which will generate the necessary files for the project based
    70       <li> Click <b>Finish</b> to create the project.</li>
    82       on the template selected and show them in the <a href="../reference/view_cpp_projects.htm">C/C++ Projects view</a>.</li>
    71       <p>This generates the necessary files for the project based on the template selected and show them in the <a href="../reference/view_cpp_projects.htm">Project Explorer</a> view.</p>
    83     </ol>
    72     </ol>
    84     <blockquote>
    73     <blockquote>
    85       <p align="center"><img src="../images/step7.png" width="273" height="301" alt="" > </p>
    74       <p align="center"><img src="../images/step7.png" width="277" height="339" alt="" > </p>
    86     </blockquote>
    75     </blockquote>
    87   </div>
    76   </div>
    88   <blockquote>
    77   <blockquote>
    89     <p class="note"><b>NOTE</b> If the Carbide.c++ perspective is not visible, select the <b>Window
    78     <p class="note"><b>NOTE</b> If the Carbide.c++ perspective is not visible, select the <b>Window
    90 &gt; Open Perspective &gt; Other</b>... command to list all available
    79 &gt; Open Perspective &gt; Other</b>... command to list all available
   104     <li><a href="projects/prj_build.htm">Building Projects</a></li>
    93     <li><a href="projects/prj_build.htm">Building Projects</a></li>
   105     <li><a href="projects/prj_debug_config.htm">Creating a Launch Configuration</a></li>
    94     <li><a href="projects/prj_debug_config.htm">Creating a Launch Configuration</a></li>
   106     <li><a href="start/carbide_debugging.htm">Debugging a Symbian OS Program</a> </li>
    95     <li><a href="start/carbide_debugging.htm">Debugging a Symbian OS Program</a> </li>
   107   </ul>
    96   </ul>
   108   
    97   
   109 <div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. <br>License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></div>
    98 <div id="footer">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. <br>License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></div>
   110 
    99 
   111 </body>
   100 </body>
   112 </html>
   101 </html>