Caution: This version of this document is no longer maintained. For the latest documentation, see

Appendix: Tutorials

You can select a topic from this diagram:

What's New Glossary Getting Started Utilities Used by the IDE Getting System Information Using Code Coverage Common Wizards Reference Preparing Your Target Developing Photon Applications Developing C/C++ Programs Where Files Are Stored Building OS and Flash Images Migrating to the 6.3 Release Tutorials IDE Concepts About This Guide Analyzing Your System With Kernel Tracing Profiling an Application Finding Memory Errors Debugging Programs Managing Source Code Launch Configurations Reference

Workflow diagram with tutorials chapter highlighted

Here are several tutorials to help you to become familiar with the IDE.

In this chapter:

Before you start...

Before you begin the tutorials, we recommend that you first familiarize yourself with the IDE's components and interface by reading the IDE Concepts and Getting Started chapters.

You might also want to look at the core Eclipse basic tutorial on using the workbench in the Workbench User Guide (Help-->Help Contents-->Workbench User Guide, then Getting started-->Basic tutorial).

Tutorial 1: Creating a C/C++ project

Note: In earlier versions of the IDE, there were two different project types: Managed make, which automatically generated a makefile, and Standard make, which required a makefile to build. Now, you are required to select a project type, and that determines the build system to use.

In this tutorial, you'll create a simple, C/C++ project (i.e. a project that doesn't involve the QNX recursive Makefile structure).

You use the New Project wizard whenever you create a new project in the IDE. Follow these steps to create a simple "hello world" project:

  1. To open the New Project wizard, select File-->New-->Project... from the main menu of the workbench.
  2. Expand the C (or C++) folder, and select C (or C++) Project.

    New Project Wizard: Select a project type

  3. Click Next.
  4. Name your project (e.g. "MyFirstProject").
  5. In the Project type list, expand Makefile Project and select Empty Project.

    New Project Wizard: Select a project type

  6. Select a required toolchain from the Toolchain list.

    A toolchain represents the specific tools (such as a compiler, linker, and assembler) used to build your project. Additional tools, such as a debugger, can also be associated with a toolchain. Depending on the compilers installed on your system, there might be several toolchains available to select from.

  7. Click Next.

    New Project Wizard: select configurations

  8. Optional: Click Advanced settings to edit the project's properties.

    The fields for each panel are described in the "Project options" section, in the Wizards chapter.

  9. Expand C/C++ Build and select Settings.
  10. Click the Binary Parsers tab.
  11. Select a parser.

    To ensure the accuracy of the Project Explorer view and the ability to successfully run and debug your programs, it is important to select the correct parser. After you select the correct parser for your development environment and build your project, you can view the components of the .o file in the Project Explorer view. You can also view the contents of the .o file in the C/C++ editor.

  12. Click OK.
  13. Click Finish.

    The IDE creates your new project in your workspace. Your new project shows in the Project Explorer view, and in the Navigator view. If a message box prompts you to change perspectives, click Yes.

    C/C++ Perspective

    Now you'll create a Makefile for your project.

  14. In the Project Explorer view, highlight your project.
  15. Click the Create a File button on the toolbar:

    Create file button

  16. Name your file "Makefile" and click Finish. The editor should now open, ready for you to create your Makefile.

    Here's a sample Makefile you can use:

    all: hello
    hello: hello.c
        rm -f hello.o hello

    Note: Use Tab characters to indent commands inside of Makefile rules, not spaces.

  17. When you're finished editing, save your file (right-click, then select Save, or click the Save button in the tool bar).
  18. Finally, you'll create your "hello world" C (or C++) source file. Again, open a new file called hello.c, which might look something like this when you're done:
    #include <stdlib.h>
    #include <stdio.h>
    int main(int argc, char *argv[]) {
        printf("Hello, world!\n");
        return EXIT_SUCCESS;

Congratulations! You've just created your first Make C/C++ project in the IDE.

For instructions about building your program, see the section "Building projects" in the Developing C/C++ Programs chapter.

Note: In order to run your program, you must first set up a Neutrino target system. For details, see:

Tutorial 2: Creating a QNX C/C++ project

Unlike C/C++ projects, a QNX C/C++ project relies on the QNX recursive Makefile system to support multiple CPU targets. (For more information about the QNX recursive Makefile system, see the Conventions for Makefiles and Directories chapter in the Neutrino Programmer's Guide.)

Follow these steps to create a simple QNX C (or C++) "hello world" project:

  1. In the C/C++ Development perspective, select File-->New-->Project... from the main menu of the workbench.
  2. Expand the C (or C++) folder, and select QNX C Project (or QNX C++ Project), then click Next.

    The New Project wizard appears.

  3. Name your project, then select the type (e.g. Application).

    Note: Even though the wizard allows it, don't use any of the following characters in your project name (they'll cause problems later): | ! $ ( " ) & ` : ; \ ' * ? [ ] # ~ = % < > { }

    New QNX C Project: Project name and type

  4. Click Next.
  5. On the Build Variants tab, expand the build variant that matches your target type, such as X86 (Little Endian), PPC (Big Endian), etc., and then select the appropriate build version (release or debug).

    New QNX C Project: Build Variants tab

  6. Click Finish.

    The IDE creates your QNX project and shows the source file in the editor.

    New QNX C Project: Build Variants tab

Congratulations! You've just created your first QNX project.

For instructions about building your program, see the section "Building projects" in the Developing C/C++ Programs chapter.

Note: In order to run your program, you must first set up a Neutrino target system. For details, see:

Tutorial 3: Importing an existing project into the IDE

In this tutorial, you'll use the IDE's Import wizard, which lets you import existing projects, files, as well as files from ZIP archives into your workspace.

Note: You can use various methods to import source into the IDE. For details, see the Managing Source Code chapter.

Follow these steps to bring one of your existing C or C++ projects into the IDE:

  1. Select File-->Import... to open the Import wizard.
  2. In the Import wizard, select General-->Existing Projects into Workspace.

    The Import wizard

  3. Click Next.

    The IDE shows the Import Project From Filesystem panel.

  4. Do one of the following:
  5. In the Projects list, select the projects that you want to import from the location you specified.

    Use the following buttons to help you make your selections:

  6. Optional: Select the Copy projects into workspace option to cause the imported project to be copied into the current workspace.
  7. Click Finish to import the selected project into your workspace.

Congratulations! You've just imported one of your existing projects into the IDE.

Tutorial 4: Importing a QNX BSP into the IDE

QNX BSPs and other source packages are distributed as .zip archives. The IDE lets you import both kinds of packages into the IDE:

When you import: The IDE creates a:
QNX BSP source package System Builder project
QNX C/C++ source package C or C++ application or library project

For more information on System Builder projects, see the Building OS and Flash Images chapter.

Step 1: Use File-->Import...

You import a QNX source archive using the standard Eclipse Import dialog:

Step 2: Select the package

After you choose the type of package you're importing, the wizard then presents you with a list of the packages found in $QNX_TARGET/usr/src/archives on your host:

Select BSP

Notice that as you highlight a package in the list, a description for that package is shown.

To add more packages to the list:

  1. Click Select Package....
  2. Select the .zip source archive you want to add and click Open.
  3. When finished adding packages, click Next.

Step 3: Select the source projects

Each source package contains several components (or projects, to use the IDE term). For the package you selected, the wizard then gives you a list of each source project contained in the archive:

Select projects

You can decide to import only certain parts of the source package; simply uncheck the entries you don't want (they're all selected by default). Again, as you highlight a component, you'll see its description in the bottom pane.

Step 4: Select a working set

The last page of the import wizard lets you name your source projects. You can specify:

Select working set

Note: If you plan to import a source BSP and a binary BSP into the IDE, remember to give each project a different name.

Step 5: Build

When you finish with the wizard, it creates all the projects and brings in the source from the archive. It then prompts you to build all of the projects you've just imported.

Note: If you answer Yes, the IDE begins the build process, which may take several minutes (depending on how much source you've imported).

If you decide not to build now, you can always do a Rebuild All from the main toolbar's Project menu at a later time.

If you didn't import all the components from a BSP package, you can bring in the rest of them by selecting the System Builder project and opening the import wizard (right-click the project, then select Import...). The IDE detects your selection and then extends the existing BSP (rather than making a new one).

QNX BSP perspective

When you import a QNX Board Support Package, the IDE opens the QNX BSP perspective. This perspective combines the minimum elements from both the C/C++ perspective and the QNX System Builder perspective:

BSP perspective

Congratulations! You've just imported a QNX BSP into the IDE.