core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_build.htm
author fturovic <frank.turovich@nokia.com>
Tue, 31 Aug 2010 10:54:44 -0500
changeset 1929 e42423cc31d4
parent 1791 727385d8e2b3
child 2131 ff0156b93599
permissions -rw-r--r--
BUG 11531 - final updates for build config revision
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1507
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
     1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
     2
<html>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
     3
<head>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
     4
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
     5
<meta http-equiv="Content-Style-Type" content="text/css" />
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
     6
<meta name="LASTUPDATED" content="06/17/05 11:09:43" />
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
     7
<title>Building Projects</title>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
     8
<link rel="StyleSheet" href="../../../book.css" type="text/css"/>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
     9
<script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js"></script>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    10
</head>
1791
727385d8e2b3 added new customize carbide section and some relinking done for deleted duplicate page
fturovic <frank.turovich@nokia.com>
parents: 1610
diff changeset
    11
<body >
1507
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    12
<h2>Building Projects and Symbian Components </h2>
1929
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    13
<p>Building projects consists of a new sbs-based build system (Raptor) that wraps build functionality around existing SDK build tools which invoke <span class="code">makmake</span> commands (e.g. <span class="code">bldmake bldfiles</span> and <span class="code">sbs build</span>).</p>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    14
<p> The plug-ins provide extra functionality to set up suitable build configurations for Symbian OS C++ projects.  The initial selection of a build configuration is done when you create a project, as described in <a href="../CreatingNewProjects.html">Creating New Projects</a>. You can later <a href="prj_set_build_tgt.htm">change</a> the Active Build Configuration. A command is available (<b>Project &gt; <a href="../../reference/menus/build_all_targets.htm">Build All Configurations</a></b>) to build all the selected build configurations in a batch.</p>
1507
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    15
<p> Building Symbian OS C++ projects can involve the use of Symbian OS specific tools, such as the Symbian OS resource compiler. For detailed information on such tools, see the documentation for the SDK that you are using.</p>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    16
<p>You build  projects to process the source files that comprise a program and
1929
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    17
  generate object code. The compiler flags syntax errors in the source files. Use the  <a href="../../reference/ProjectPreferences.html">Properties for &lt;project_name&gt;</a> dialog to control how the project is built. The following methods build a project:</p>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    18
<ul>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    19
    <li><b>Build All Configurations</b> (<span class="code">CTRL+ALT+A</span>) &#8212;builds all build configurations for a project</li>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    20
  <li><b>Build Project</b> (<span class="code">CTRL+B</span>) &#8212;  builds the entire project if it has never been built before or on subsequent builds only those files that have changed since the last build operation</li>
1507
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    21
  <li><b>Build Working Set</b>&#8212;specify which projects to build in a working set </li>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    22
</ul>
1929
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    23
<p align="center"><img src="images/menu_build_project.png" width="280" height="262" /></p>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    24
<p class="figure">Figure 1 - Project menu includes all build options</p>
1507
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    25
<div class="step">
1610
5e244b89116e revised Create New Project tutorial, updated images, TOC, and welcome link
fturovic <frank.turovich@nokia.com>
parents: 1507
diff changeset
    26
  <h4>Building a project</h4>
1507
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    27
  <ul>
1929
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    28
    <li>Choose one of the following to build a project:</li>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    29
        <table width="800" border="0" cellpadding="2" cellspacing="0">
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    30
            <tr valign="top">
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    31
                <th width="30%" class="Cell"><div align="left">From the ...</div></th>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    32
                    <th width="70%" class="Cell"><div align="left">Do the following...</div></th>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    33
                </tr>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    34
            <tr valign="top">
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    35
                <td class="Cell"><b>Menu bar</b></td>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    36
                    <td class="Cell"> Click the <strong>Project &gt; Build Project</strong> menu option.</td>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    37
            </tr>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    38
            <tr valign="top">
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    39
                <td class="Cell"><b>Toolbar</b></td>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    40
                    <td class="Cell">Click the <b>Build</b> icon (<img src="../../projects/images/icon_build_project.png" alt="Build project icon" width="17" height="17" align="absmiddle">) on the toolbar</td>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    41
            </tr>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    42
            <tr valign="top">
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    43
                <td class="Cell"><b>Project</b></td>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    44
                    <td class="Cell"><ol>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    45
                            <li>Right-click the project              
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    46
                            <li>Select Build Project</li>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    47
                    </ol></td>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    48
            </tr>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    49
        </table>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    50
        </ul>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    51
  <p>Carbide.c++ builds the project. A build dialog  and a task bar appear during a build process. All build output  is shown in the Console view while build errors and warnings appear in the Problems view.</p>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    52
  <p>Whether a full build or incremental build is requested, Carbide forwards the request to the SDK make system. The SDK make system determines if anything needs to be
1507
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    53
      built. Carbide  always checks that makefiles are up-to-date and
1929
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    54
      dependencies present.</p>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    55
  <p>Projects are also built if you make a change to it and then click <b>Debug</b>. It may be useful to automatically save modified resources before a manual build process by enabling the <b>Save automatically before build</b> option in the <b>Window &gt; Preferences &gt; General &gt;</b> <img src="../../images/command_link.png" width="16" height="12"> <a class="command-link" href='javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.ui.preferencePages.Workbench)")'> Workspace</a> preference panel. </p>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    56
  <p class="note"><b>NOTE</b> If you want to turn off building before launching, uncheck the <b>Build (if required) before launching</b> option in the <b>Window &gt; Preferences &gt; Run/Debug &gt;<img src="../../images/command_link.png" width="16" height="12"> <a class="command-link" href='javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.debug.ui.LaunchingPreferencePage)")'> Launching</a></b> preference panel.</p>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    57
  <p>When performing a build, output is displayed in the <a href="../../reference/view_console.htm">Console</a> view. If you do not want to clear the console before each build you need to uncheck the option <b>Always clear console before building</b> in the <b>Build Console</b> panel. This option is enabled by default. You can access this panel by selecting <b>Window &gt; Preferences &gt; C/C++ &gt; Build &gt; <img src="../../images/command_link.png" width="16" height="12"> <a class="command-link" href='javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.cdt.ui.preferneces.CBuildConsolePreferernces)")'> Build Console</a></b> preference panel (figure 4).</p>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    58
  <p align="center"><img src="images/build_console.png" alt="Build Console" width="630" height="214" /></p>
e42423cc31d4 BUG 11531 - final updates for build config revision
fturovic <frank.turovich@nokia.com>
parents: 1791
diff changeset
    59
  <p align="left" class="figure">Figure 4 - Build Console preference panel</p>
1507
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    60
  <p>Not clearing the console is useful when you are performing multiple builds, such as a regular project build, building a project package (.pkg) file, and building a ROM image. For example, if you do not clear the console before each build, then a subsequent build will not overwrite information from a previous build.</p>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    61
</div>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    62
  <h5>Concepts</h5>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    63
  <ul>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    64
    <li><a href="../../concepts/Projects.html">Projects</a></li>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    65
</ul>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    66
  <h5>Tasks</h5>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    67
  <ul>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    68
    <li><a href="prj_clean.htm">Cleaning Projects</a> </li>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    69
    <li><a href="../../reference/menus/compile_source.htm">Compile Source</a></li>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    70
    <li><a href="../CreatingNewProjects.html">Creating Projects</a></li>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    71
    <li><a href="prj_debug_config.htm">Creating a Launch Configuration</a></li>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    72
    <li><a href="../start/carbide_debugging.htm">Debugging a Symbian OS Program</a></li>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    73
    <li><a href="../../reference/menus/build_symbian_comp.htm">Build Symbian Component</a></li>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    74
    <li><a href="../../reference/menus/clean_symbian_comp.htm">Clean Symbian Component</a></li>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    75
    <li><a href="../../reference/menus/build_pkg_file.htm">Build Package (.pkg) File</a></li>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    76
    <li><a href="../ImportingProjects.html">Importing BLD.INF Files</a></li>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    77
  </ul>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    78
  <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>
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    79
30441fd93226 minor edits and updates for 3.0 release
fturovic <frank.turovich@nokia.com>
parents: 1207
diff changeset
    80
</body>
0
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    81
</html>