# HG changeset patch # User fturovic # Date 1279046298 18000 # Node ID 5e244b89116e70b58d6e13ab76e6bc7b1362078a # Parent 231c47d08fe4651e708f8c90e54c9b629508b1ba revised Create New Project tutorial, updated images, TOC, and welcome link diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/book.css --- a/core/com.nokia.carbide.cpp.doc.user/book.css Mon Jul 12 10:32:59 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/book.css Tue Jul 13 13:38:18 2010 -0500 @@ -101,7 +101,7 @@ } th { - background-color: #E6E6E6; + background-color: #66CC66; } div.ol.p { @@ -120,7 +120,7 @@ div h5, div h4 { padding:5px 0px 5px 12px; - background-color: #E6E6E6; + background-color: #D3DAD4; font-weight:bold; color: #000000; } diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/debugging_project_02.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/debugging_project_02.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/debugging_project_04.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/debugging_project_04.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/debugging_project_05.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/debugging_project_05.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/dlg_build_project_progress.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/dlg_build_project_progress.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/icon_build_project.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/icon_build_project.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/icon_debug.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/icon_debug.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/icon_project_built.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/icon_project_built.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/icon_project_error_badge.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/icon_project_error_badge.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/icon_project_warning_badge.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/icon_project_warning_badge.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/icon_run.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/icon_run.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/menu_new_proj_build_project.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/menu_new_proj_build_project.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/new_build_project_console_view.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/new_build_project_console_view.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/new_build_project_executables_view.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/new_build_project_executables_view.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/new_build_project_problems_view.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/new_build_project_problems_view.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/new_launch_config_03.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/new_launch_config_03.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/new_launch_config_04.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/new_launch_config_04.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/new_launch_config_05.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/new_launch_config_05.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/new_launch_config_08.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/new_launch_config_08.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/new_project_template_01.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/new_project_template_01.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/new_project_template_02.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/new_project_template_02.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/new_project_template_07.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/new_project_template_07.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/images/pref_cdt_build_console.png Binary file core/com.nokia.carbide.cpp.doc.user/html/projects/images/pref_cdt_build_console.png has changed diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_from_template_00.htm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_from_template_00.htm Tue Jul 13 13:38:18 2010 -0500 @@ -0,0 +1,23 @@ + + + + + + +Creating New Projects Tutorial + + + +

Creating New Projects Tutorial

+

In this example we show how to create a new project using one of the built-in Carbide templates, how to build it into an executable, and how to launch the debugger to verify program accuracy. The steps to do this include:

+
    +
  1. Creating a project from a project template
  2. +
  3. Building an executable based on the project sources
  4. +
  5. Defining a launch configuration for running or debugging the application
  6. +
  7. Controlling and debugging the running program using the Carbide debugger
  8. +
+

NOTE There must be at least one recognized SDK installed before you can create a project. See the SDK Preferences panel to determine if the installed SDKs are recognized by Carbide.c++ IDE. If the SDK you have installed is not recognized, you may still be able to add it to the Discovered Symbian OS SDK list.

+ + + + \ No newline at end of file diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_from_template_01.htm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_from_template_01.htm Tue Jul 13 13:38:18 2010 -0500 @@ -0,0 +1,64 @@ + + + + + + +Creating New Projects from Templates + + + +

Creating New Projects from Templates

+

In this example we show how to create a new project using one of the built-in Carbide templates, how to build it into an executable, and how to launch the debugger to verify program accuracy. The steps to do this include:

+
    +
  1. Creating a project from a project template
  2. +
  3. Building an executable based on the project sources
  4. +
  5. Defining a launch configuration for running or debugging the application
  6. +
  7. Controlling and debugging the running program using the Carbide debugger
  8. +
+
+

Everything starts with a project. So the first step is to use the New Project wizard to create a project based on a known template. Program templates are designed to make creating common project types fast and simple. They include the basic sources, resources, includes, and build files that Carbide uses to manage your project.

+
+

Creating projects from a template

+
    +
  1. Click the File > New > Symbian OS C++ Project menu option.
    +

    The New Symbian OS C++ Project window appears to guide you through project creation process.

    +

    New Symbian OS C++ Project window

    +
  2. +
  3. Select a template from the available, then click Next.
    +

    Select the template for the type of project you want to create. For this example we chose the S60 > GUI Application template. Note that as you select a template a brief description appears below the list explaining it attributes.

    +
  4. +
  5. Use the New Symbian OS C++ Project page to define the project name and build system.
    +

    +
      +
    1. Type a name into the Project name text box.
      +

      The project name is used to define several of the pre-build source files in the prject.

      +
    2. +
    3. (Optional) Change the project location.
      +

      Uncheck the Use default location option to specify a different location for the project.

      +
    4. +
    5. Select the Builder type.
      +

      Based on the installed SDKs you can choose between SBSv2 (recommended) and the older SBSv1 build systems.

      +
    6. +
    7. Click Next.
    8. +
    +
  6. +
  7. In the Symbian OS SDKs page, select the SDK and build configurations for the project.
    +

    Here you can select from any SDK that is both installed and recognized by Carbide. If the SDK supports several build configurations (GCCE, RVCT, etc.) then you can pick and choose among them for your project.

    +
  8. +
  9. (Optional) Click Next to provide Basic Settings like author, copyright and other info for your project.
  10. +
  11. (Optional) Click Next to rename the Project Directories used to organize the project.
  12. +
  13. Click Finish.
    +

    Carbide uses the selected project template and your settings to create a new project in the Project Explorer view.

    +
  14. +
+
+NEXT STEP > Building an executable based on the project sources +

Other references

+ + + + + \ No newline at end of file diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_from_template_02.htm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_from_template_02.htm Tue Jul 13 13:38:18 2010 -0500 @@ -0,0 +1,97 @@ + + + + + +Building Projects and Components + + + + +

Building Projects and Components

+

In this example we show how to create a new project using one of the built-in Carbide templates, how to build it into an executable, and how to launch the debugger to verify program accuracy. The steps to do this include:

+
    +
  1. Creating a project from a project template
  2. +
  3. Building an executable based on the project sources
  4. +
  5. Defining a launch configuration for running or debugging the application
  6. +
  7. Controlling and debugging the running program using the Carbide debugger
  8. +
+
+

Once you have a project in hand, the next thing to do is compile or build it into object code.

+

Building projects consists of a sbs or abld-based build system that wraps build functionality around existing SDK build tools that invoke makmake commands (e.g. makmake bldfiles and sbs build).

+

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 Creating New Projects from Templates. You can later change the Active Build Configuration. The Build Configurations also provides a command (Project > Build All Configurations) to build all the selected build configurations in a batch.

+

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.

+

You build projects to process the source files that comprise a program and + generate object code. The compiler flags syntax errors in the source files. Use the Properties for <project_name> window to control how the project is built. The following methods build a project:

+ +
+

Build Project menu

+
+
+

Building a project

+
    +
  1. Build the project using one of these actions: +
    +
      +
    • Right-click the project in the Project Explorer view and choose Build Project (see above).
    • +
    • Click the Run > Build Project menu option.
    • +
    • Click the Build (Build Project icon) icon in the toolbar to build the project.
    • +
    +
  2. +
+
+

Choosing any of the above actions causes Carbide to build the selected project. A Build Project dialog (below) and a progress bar appear during a lengthy build operation. All build output is shown in a Console view while build errors and warnings appear in the Problems view.

+

Build Project progress dialog

+

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 + built. Carbide always checks that makefiles are up-to-date and + dependencies present.

+

The project is also built if you make a change to it and then click Debug. It may be useful to automatically save modified resources before a manual build process by enabling the Save automatically before build option in the Window > Preferences > General > Workspace preference panel.

+

NOTE If you want to turn off building before launching, uncheck the Build (if required) before launching option in the Window > Preferences > Run/Debug > Launching preference panel.

+

When performing a build, output is displayed in the Console view. If you do not want to clear the console before each build you need to uncheck the option Always clear console before building in the Console panel. This option is enabled by default. You can access this panel by selecting Window > Preferences > C/C++ > Build > Console preference panel (below).

+

Console preference panel

+

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.

+
+
    +
  1. Verifying a successful project build
    +

    Once compiling is complete use the Project Explorer, Problems, Console, and Executables views to locate and resolve any problems generated during the build.

    +
      +
    1. Examine the project icon in the Project Explorer view
      +
        +
      • Project built icon — a successfully built project icon.
      • +
      • Warning badge — projects with warning messages show a yield badge.
      • +
      • Error badge — projects with error messages show a red badge.
      • +
      +
    2. + +
    3. Check the Problems view for error or warning messages
      +

      Examine the Problems view to see what errors and warning messages were generated during the build. The Description column contains additional information about the problem that can help you resolve it.

      +

      Executables view

      +
    4. +
    5. Examine the Console view for more specific details on an error or warning message
      +

      Use the Console view to see where a specific problem occured during the build.

      +

      Executables view

      +
    6. +
    7. Examine the Executables view for missing source files
      +

      Use the Executables view to see what source files were used during the build. Sources shown in gray are those Carbide cannot find. Missing sources in an SDK not built on your machine are common, but missing sources that you created can be resolved.

      +

      Executables view

      +
    8. +
    +

    Once you're resolved all the build errors in a project, its time to link the program to a specific target. This is done with a launch configuration.

    +
  2. +
+
+

NEXT STEP > Defining a launch configuration for running or debugging the application

+

+

Other references

+ + + + + \ No newline at end of file diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_from_template_03.htm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_from_template_03.htm Tue Jul 13 13:38:18 2010 -0500 @@ -0,0 +1,65 @@ + + + + + + +Defining a launch configuration + + + +

Defining a launch configuration

+

In this example we show how to create a new project using one of the built-in Carbide templates, how to build it into an executable, and how to launch the debugger to verify program accuracy. The steps to do this include:

+
    +
  1. Creating a project from a project template
  2. +
  3. Building an executable based on the project sources
  4. +
  5. Defining a launch configuration for running or debugging the application
  6. +
  7. Controlling and debugging the running program using the Carbide debugger
  8. +
+
+

To run or debug a project you need a launch configuration. A project must have at least one launch configuration, and can have as many as necessary. It is not unusual to have two or more launch configurations per target device, usually a debug version and a run version. You can use the New Launch Configuration Wizard to create them all.

+ +

Once the emulator or device is loaded with the executable, a debug session can begin.

+

If at any time the New Launch Configuration Wizard encounters a problem during a later launch sequence it will request settings clarification before continuing. For example, maybe the target device has changed, or a new ROM has been installed. Either of these will trigger a request for clarification.

+
+

Defining a launch configuration (emulator example)

+
    +
  1. Select the project to run in the Project Explorer view.
  2. +
  3. To run the project without the debugger choose:
    +

    To simply run the project on the chosen target use one of the following actions. Use this option to verify a release program's execution without debugging symbols.

    +
      +
    1. Right-click the project and click Run As > Run Symbian OS Application on Emulator.
    2. +
    3. Click the Run > Run (CTRL-F11) menu item.
    4. +
    5. Click the Run (Run icon) icon in the toolbar.
    6. +
    +
  4. +
  5. Select the Process to launch in the Executable Selection page, then click Next.
    +

    +
  6. +
  7. Set the Build (if required) before launching option in the Build Options Selection page, then click Next.
    +

    +
  8. +
  9. Verify the new launch configuration settings in the New Launch Configuration page.
    +

    +
  10. +
  11. (Optional) Checkmark the Advanced settings option to further customize the launch configuration.
  12. +
  13. Click Finish.
    +

    Carbide launches the emulator, transfers the HelloWorld executable to it, then launches the program (see below). You can then use the soft-keys to choose actions from the Options soft-menu. Click the Exit soft-key to close the emulator and return to Carbide.c++.

    +

    Emulator

    +
  14. +
+

With a launch configuration in place, its now possible to edit, build, and run a project in the emulator. However, since none of us can write perfect code the first time the use of a debugger is essential for further development of our project.

+
+

NEXT STEP > Controlling and debugging the running program using the Carbide debugger

+

Other references

+ + + + + \ No newline at end of file diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_from_template_04.htm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/com.nokia.carbide.cpp.doc.user/html/projects/tutorials/new_proj_from_template_04.htm Tue Jul 13 13:38:18 2010 -0500 @@ -0,0 +1,67 @@ + + + + + +Launching and debugging an executable + + + +

Launching and debugging an executable

+

In this example we show how to create a new project using one of the built-in Carbide templates, how to build it into an executable, and how to launch the debugger to verify program accuracy. The steps to do this include:

+
    +
  1. Creating a project from a project template
  2. +
  3. Building an executable based on the project sources
  4. +
  5. Defining a launch configuration for running or debugging the application
  6. +
  7. Launching and debugging an executable using the Carbide debugger
  8. +
+
+

 

+

NOTE You can only debug compiled programs. Use the Build Project command to compile project sources into a binary file if you do not already have an executable in the project. A symbolics (.sym) file is also required for debugging on a target device. Ensure that a .sym file has been created. If you are importing an existing application, you may have to rebuild the application and create a related .sym file. Make sure a .sym file has been created in the output directory.

+
+

Launching and debugging an executable

+
    +
  1. Select the project to debug in the Project Explorer view.
    +

    For this example you should choose the HelloWorld project created in Step 1 of this tutorial.

    +
  2. +
  3. Set a breakpoint in the project.
    +

    Open the \src\HelloWorldAppUi.cpp file and set a breakpoint in the HandleCommandL routine on Line 103.

    +

    Setting a breakpoint

    +
  4. +
  5. Launch the debug session.
    +

    To run the project on the chosen target and start a debug session use one of the following actions. Clicking Debug is the most common choice as it enables you to assume control of the executable should you encounter a problem.

    +
      +
    • Right-click the project and choose Debug As > Debug Symbian OS Application on Emulator.
    • +
    • Click the Run > Debug (F11) menu item.
    • +
    • Click the Debug (Debug icon) icon in the toolbar.
    • +
    +

    The emulator is launched and the Debug perspective appears to manage the debug session.

    +
  6. +
  7. Click the Options soft-menu and select any menu option to hit the breakpoint set in Step 2.
    +

    Select menu option

    +

    Which returns control to the Debug perspective in Carbide. Use the various views to examine the program as it runs. Examine variables, set more breakpoints, etc.

    +

    Select menu option

    +
  8. +
  9. Use any of the step commands in the Debug view to step through the program source code.
    +
      +
    • Click Step Into (F5) to execute the current line and enter a function or method.
    • +
    • Click Step Over (F6) to execute the current line.
    • +
    • Click Step Return (F7) to execute lines until exiting the function or method.
    • +
    +
  10. +
  11. Click the Resume icon in the Debug view to return control to the program.
  12. +
  13. Click the Exit soft-key in the emulator to exit the debug session.
    +

    The HelloWorld program stops, the emulator exits, and control returns to Carbide.

    +
  14. +
+
+

That's it. Congratulations on creating, building, and debugging a Carbide project.

+

Other references

+ + + + + \ No newline at end of file diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/tasks/CreatingNewProjects.html --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/CreatingNewProjects.html Mon Jul 12 10:32:59 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/CreatingNewProjects.html Tue Jul 13 13:38:18 2010 -0500 @@ -1,101 +1,101 @@ - - - - Creating New Projects - - - -

Creating New Projects

-
-

New projects are created using the New Project Wizard. Carbide includes a number of templates that make creating projects for different SDKs and executables quick and easy.

-

NOTE You must have at least one recognized SDK installed before you can create a project. See the SDK Preferences panel 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 add it to the Discovered Symbian OS SDK list.

-

NOTE 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.

-
-

Creating New Symbian OS C++ Projects

-
    -
  1. Select File > New > Symbian OS C++ Project to invoke the New Project wizard.
  2. -

    -
  3. The New Symbian OS C++ Project wizard appears. Select a template related to an installed SDK.
  4. -

    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.

    -

    NOTE If the selected template requires user input, additional wizard pages will collect data from the user before creating the project.

    -

    Checkmark the Filter templates based on enabled SDKs option to only list SDKs enabled in the SDK Preferences panel. Uncheck this option to list SDKs that can be used with Carbide. Click Next.

    -

    -
  5. Enter a name for your project.
  6. -

    Checkmark the Use default location option to save the project in the current workspace by default or uncheck it to save to another location. Enter the path in the Location field or click Browse button to locate the directory. Click Next.

    -

    new project
    -

    -
  7. Select the SDKs and Build Configurations.
  8. -

    Checkmark the Filter SDKs based on selected template option to only show build configurations based on the selected SDK template, or uncheck to show all enabled SDKs and their related build configurations.

    -

    -

    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 - if the program you are developing is for just one version of a platform, - or select multiple SDKs to build the program for multiple build platforms or SDK versions.

    -

    The build configuration allows you to specify the compiler(s) to - do the build, and whether debug and/or release builds are required. For this example we recommend using the Emulator Debug version as the build configuration. Later, you can switch to another build configuration to create the project for a specific device.

    -

    Click Next.

    -
  9. Set the project properties in the Basic Settings page.
  10. -
    -
    -

    NOTE The basic properties for a project may change based on the template selected for a particular project type.

    -

    Fill in the applicable fields, which - may include UID2, UID3, Vendor ID, Author, Support Email, Copyright - notice and Target Type for console EXEs.

    - -

    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.

    -

    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.

    -

    UID 2 is a unique identifier number that identifies the type of interface that the - project implements. The values are defined by Symbian

    - -
      -
    • For GUI applications, it is always 0x100039CE
    • -
    • For static interface DLLs, the UID 2 is always 0x1000008d
    • -
    • For polymorphic DLLs, the UID2 is defined by the framework which is being implemented
    • -
    - Author, Copyright notice, and Text to be shown are used in comments created by the wizard in the source code. -

    For more information on UIDs - and Vendor IDs, see Symbian Signed, - which allocates these values.

    -
    -
  11. - Click Next to move to the Project Directories page.
  12. -
    -


    -

    -

    NOTE The project directories depends on the selected template. That is, the directories required to store project data may - change based on the template used.

    -
    -

    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.

    -
  13. Click Finish to create the project.
  14. -

    This generates the necessary files for the project based on the template selected and show them in the Project Explorer view.

    -
-
-

-
-
-
-

NOTE If the Carbide.c++ perspective is not visible, select the Window -> Open Perspective > Other... command to list all available - perspectives, then select the Carbide.c++ perspective and click OK.

-
-
-
Concepts
- -
Tasks
- - - - - - + + + + Creating New Projects + + + +

Creating New Projects

+
+

New projects are created using the New Project Wizard. Carbide includes a number of templates that make creating projects for different SDKs and executables quick and easy.

+

NOTE You must have at least one recognized SDK installed before you can create a project. See the SDK Preferences panel 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 add it to the Discovered Symbian OS SDK list.

+

NOTE 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.

+
+

Creating New Symbian OS C++ Projects

+
    +
  1. Select File > New > Symbian OS C++ Project to invoke the New Project wizard.
  2. +

    +
  3. The New Symbian OS C++ Project wizard appears. Select a template related to an installed SDK.
  4. +

    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.

    +

    NOTE If the selected template requires user input, additional wizard pages will collect data from the user before creating the project.

    +

    Checkmark the Filter templates based on enabled SDKs option to only list SDKs enabled in the SDK Preferences panel. Uncheck this option to list SDKs that can be used with Carbide. Click Next.

    +

    +
  5. Enter a name for your project.
  6. +

    Checkmark the Use default location option to save the project in the current workspace by default or uncheck it to save to another location. Enter the path in the Location field or click Browse button to locate the directory. Click Next.

    +

    new project
    +

    +
  7. Select the SDKs and Build Configurations.
  8. +

    Checkmark the Filter SDKs based on selected template option to only show build configurations based on the selected SDK template, or uncheck to show all enabled SDKs and their related build configurations.

    +

    +

    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 + if the program you are developing is for just one version of a platform, + or select multiple SDKs to build the program for multiple build platforms or SDK versions.

    +

    The build configuration allows you to specify the compiler(s) to + do the build, and whether debug and/or release builds are required. For this example we recommend using the Emulator Debug version as the build configuration. Later, you can switch to another build configuration to create the project for a specific device.

    +

    Click Next.

    +
  9. Set the project properties in the Basic Settings page.
  10. +
    +
    +

    NOTE The basic properties for a project may change based on the template selected for a particular project type.

    +

    Fill in the applicable fields, which + may include UID2, UID3, Vendor ID, Author, Support Email, Copyright + notice and Target Type for console EXEs.

    + +

    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.

    +

    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.

    +

    UID 2 is a unique identifier number that identifies the type of interface that the + project implements. The values are defined by Symbian

    + +
      +
    • For GUI applications, it is always 0x100039CE
    • +
    • For static interface DLLs, the UID 2 is always 0x1000008d
    • +
    • For polymorphic DLLs, the UID2 is defined by the framework which is being implemented
    • +
    + Author, Copyright notice, and Text to be shown are used in comments created by the wizard in the source code. +

    For more information on UIDs + and Vendor IDs, see Symbian Signed, + which allocates these values.

    +
    +
  11. + Click Next to move to the Project Directories page.
  12. +
    +


    +

    +

    NOTE The project directories depends on the selected template. That is, the directories required to store project data may + change based on the template used.

    +
    +

    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.

    +
  13. Click Finish to create the project.
  14. +

    This generates the necessary files for the project based on the template selected and show them in the Project Explorer view.

    +
+
+

+
+
+
+

NOTE If the Carbide.c++ perspective is not visible, select the Window +> Open Perspective > Other... command to list all available + perspectives, then select the Carbide.c++ perspective and click OK.

+
+
+
Concepts
+ +
Tasks
+ + + + + + diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_build.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_build.htm Mon Jul 12 10:32:59 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_build.htm Tue Jul 13 13:38:18 2010 -0500 @@ -22,7 +22,7 @@

Figure 1 - Right-click project name to build a project

-

Building a Project

+

Building a project

diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_debug_config.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_debug_config.htm Mon Jul 12 10:32:59 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/projects/prj_debug_config.htm Tue Jul 13 13:38:18 2010 -0500 @@ -42,7 +42,7 @@

The appropriate Run or Debug launch configuration window appears (Figure 1).

-

Undefined launch configuration

+

Undefined launch configuration

Figure 1 - Initial blank Debug launch configuration window

  • Select a type of launch configuration (for example, Symbian OS Emulation), then click the New launch configuration icon to create a new @@ -51,7 +51,7 @@ appropriate section using the project name and target to create the configuration name.

    NOTE Project information is used to fill in the Project and Process to launch text boxes by default when you click New. You should not have to edit these for a normal run/debug project. If a bld.inf has multiple MMP files listed, then the first executable in the list is used to fill in the executable field. Therefore, for projects with multiple MMPs you may need to change the executable field.

  • -

    New launch configuration

    +

    New launch configuration

    Figure 2 - New launch configuration with name and settings filled in (emulator)

  • View the information to define the project and executable diff -r 231c47d08fe4 -r 5e244b89116e core/com.nokia.carbide.cpp.doc.user/intro/tutorialsCarbideExtContent.xml --- a/core/com.nokia.carbide.cpp.doc.user/intro/tutorialsCarbideExtContent.xml Mon Jul 12 10:32:59 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/intro/tutorialsCarbideExtContent.xml Tue Jul 13 13:38:18 2010 -0500 @@ -1,4 +1,4 @@ - +DLL @@ -12,11 +12,11 @@ - Learn how to create, build, and debug a program for the emulator called HelloCarbide using Carbide project templates. + Learn how to create, build, and debug programs on the emulator using Carbide project templates. - - - - - + + + + +