core/com.nokia.carbide.cpp.doc.user/html/tasks/CreatingNewProjects.html
author fturovic <frank.turovich@nokia.com>
Tue, 31 Aug 2010 10:54:44 -0500
changeset 1929 e42423cc31d4
parent 1893 e29df1745269
child 1934 4f0cd256d26c
permissions -rw-r--r--
BUG 11531 - final updates for build config revision
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1610
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
     1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
     2
<html>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
     3
<head>
1648
0d551b392c77 updated Menu section of manual
fturovic <frank.turovich@nokia.com>
parents: 1610
diff changeset
     4
  <title>Creating New Symbian OS C++ Projects</title>
1610
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
     5
<link rel="StyleSheet" href="../../book.css" type="text/css"/>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
     6
</head>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
     7
<body>
1648
0d551b392c77 updated Menu section of manual
fturovic <frank.turovich@nokia.com>
parents: 1610
diff changeset
     8
<h2>Creating New Symbian OS C++ Projects</h2>
1610
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
     9
  <div class="Bodytext">
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    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>
1893
e29df1745269 removed old SDK pref page and fixed link, then added new cheatsheet
fturovic <frank.turovich@nokia.com>
parents: 1767
diff changeset
    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/pref_carb_sdk_preference.html">Symbian SDKs 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>
1610
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    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>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    13
    <div class="step">
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    14
    <h3>Creating New Symbian OS C++ Projects</h3>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    15
    <ol>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    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>
1929
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1893
diff changeset
    17
        <p><img src="images/new_proj_step1.png" width="548" height="120" alt="" ></p>
1610
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    18
        <li>The <b class="step">New Symbian OS C++ Project</b> wizard appears. Select a template related to an installed SDK.</li>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    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>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    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>
1893
e29df1745269 removed old SDK pref page and fixed link, then added new cheatsheet
fturovic <frank.turovich@nokia.com>
parents: 1767
diff changeset
    21
      <p>Checkmark the <b>Filter templates based on enabled SDKs</b> option to only list  SDKs enabled in the <a href="../reference/pref_carb_sdk_preference.html">Symbian SDKs panel</a>. Uncheck this option to list  SDKs that can be used with Carbide. Click <b>Next</b>.</p>
1929
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1893
diff changeset
    22
      <p align="center"><img src="images/new_proj_step2.png" width="525" height="503" alt="" ></p>
1610
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    23
      <li>Enter a name for your project. </li>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    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>
1929
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1893
diff changeset
    25
      <p align="center"><span class="Image"><img src="images/new_proj_name_location.png" alt="new project" width="525" height="503"></span><span class="Image"><br>
1610
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    26
      </span></p>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    27
      <li>Select the <b>SDKs and Build Configurations</b>. </li>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    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>
1929
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1893
diff changeset
    29
      <p align="center"><img src="images/new_proj_step4.png" width="525" height="503" alt="" ></p>
1610
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    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
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    31
        if the program you are developing is for just one version of a platform,
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    32
      or select multiple SDKs to build the program for multiple build platforms or SDK versions.</p>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    33
      <p> The build configuration allows you to specify the compiler(s) to
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    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>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    35
      <p> Click <b>Next</b>.</p>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    36
      <li>Set the project properties in the <b>Basic Settings</b> page. </li>
1929
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1893
diff changeset
    37
      <div align="center"><img src="images/new_proj_step5.png" width="525" height="503" alt="" >        </div>
1610
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    38
      <blockquote>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    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>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    40
        <p align="left" style="font-weight: normal;">Fill in the applicable fields, which
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    41
              may include UID2, UID3, Vendor ID, Author, Support Email, Copyright
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    42
        notice and Target Type for console EXEs.</p>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    43
    
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    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>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    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>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    46
      <p style="font-weight: normal;">UID 2 is a unique identifier number that identifies the type of interface that the
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    47
          project implements. The values are defined by Symbian</p>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    48
    
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    49
  <ul>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    50
          <li>For GUI applications, it is always 0x100039CE</li>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    51
          <li>For static interface DLLs, the UID 2 is always 0x1000008d</li>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    52
          <li>For polymorphic DLLs, the UID2 is defined by the framework which is being implemented</li>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    53
        </ul>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    54
      Author, Copyright notice, and Text to be shown are used in comments created by the wizard in the source code.    
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    55
      <p><span style="font-weight: normal;"> For more information on UIDs
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    56
          and Vendor IDs, see </span><a
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    57
 href="https://www.symbiansigned.com/app/page/uidfaq"
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    58
 style="font-weight: normal;">Symbian Signed</a>,
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    59
          <span style="font-weight: normal;">which allocates these values.</span>        </p>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    60
      </blockquote>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    61
      <li span style="font-weight: normal;">
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    62
        Click <b>Next</b> to move to the <b>Project Directories</b> page.</li>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    63
        <div class="Figure">
1929
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1893
diff changeset
    64
          <p align="center" class="Image"><img src="images/new_proj_step6.png" width="525" height="503" alt="" ><br>
1610
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    65
          </p>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    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
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    67
      change based on the template used. </p>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    68
        </div>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    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>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    70
      <li> Click <b>Finish</b> to create the project.</li>
1658
2a5c0df13bad renamed files for consistency in naming
fturovic <frank.turovich@nokia.com>
parents: 1648
diff changeset
    71
      <p>This generates the necessary files for the project based on the template selected and show them in the <a href="../reference/view_proj_explorer.htm">Project Explorer</a> view.</p>
1610
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    72
    </ol>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    73
    <blockquote>
1929
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1893
diff changeset
    74
      <p align="center"><img src="images/new_proj_step7.png" width="224" height="267" alt="" > </p>
1610
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    75
    </blockquote>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    76
  </div>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    77
  <blockquote>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    78
    <p class="note"><b>NOTE</b> If the Carbide.c++ perspective is not visible, select the <b>Window
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    79
&gt; Open Perspective &gt; Other</b>... command to list all available
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    80
      perspectives, then select the Carbide.c++ perspective and click OK.</p>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    81
  </blockquote>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    82
</div>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    83
<h5>Concepts</h5>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    84
<ul>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    85
    <li><a href="../concepts/Projects.html">Projects</a> </li>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    86
    <li><a href="../concepts/Modify.html">Project Resources</a></li>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    87
    <li><a href="../reference/ProjectPreferences.html">Project Preferences</a></li>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    88
    <li><a href="../reference/ProjectTypeandSDK.html">Project Types</a></li>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    89
    <li><a href="../concepts/templates.htm">Project Templates</a> </li>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    90
</ul>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    91
  <h5>Tasks</h5>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    92
  <ul>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    93
    <li><a href="projects/prj_build.htm">Building Projects</a></li>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    94
    <li><a href="projects/prj_debug_config.htm">Creating a Launch Configuration</a></li>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    95
    <li><a href="start/carbide_debugging.htm">Debugging a Symbian OS Program</a> </li>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    96
  </ul>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    97
  
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    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>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    99
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
   100
</body>
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
   101
</html>