New Project wizard

The New Project wizard lets you create the following kinds of C or C++ projects:

QNX C Project/QNX C++ Project
A C or C++ project for multiple target platforms. It supports the QNX-specific project structure using common.mk files to perform a QNX recursive make. A QNX project can automatically build either one executable or one library object (in different formats). You can switch which one gets built by configuring the project properties.
C Project/C++ Project
Depending on your selection in the first screen, the available project types may include:
  • Executable — Provides an executable application. If you specify an Executable template, the workbench creates a project with only the metadata files required for your specific project type. You can write and modify source files as required and provide them for the project's target. For project types under this category, a makefile is created automatically.

    The project type folder includes these two templates:

    • Empty Project — A single source folder that doesn't contain any files.
    • Hello World ANSI C Project/Hello World C++ Project — A basic C or C++ application with main(). The resulting project uses a standard makefile and the GNU make utility for building. You don't get the added functionality of the QNX build organization and the common.mk file, but these projects adapt well to existing code that you bring into the IDE. (For details about makefiles and make, see the Conventions for Recursive Makefiles and Directories chapter in the Programmer's Guide.)
  • Shared Library — An executable module compiled and linked separately. When you create an application that uses a shared library, you must define your shared library's project as a Project Reference for your application. For the Shared Library project type, the CDT combines object files so they're relocatable and can be shared by many processes. Shared libraries are named using the format libxx.so.version, where version is a number with a default of 1. The libxx.so file usually is a symbolic link to the latest version. The makefile for this project type is automatically created by the CDT.
  • Static Library — A collection of object files that you can link into an application. The CDT combines object files (*.o) into an archive (libxx.a) that is directly linked into an executable. The makefile for this project type is automatically created by the CDT.
  • Makefile Project — Creates an empty project without any metadata files. This project type is useful for importing and modifying existing makefile-based projects; a new makefile is not created. By default, the Toolchain and templates that currently show up in the lists are based on the language support for the project type that you selected.
Note:

As a rule, the IDE provides UI elements to control most of the build properties of QNX projects.

The module.dep and module.mk files are created for every project subdirectory. These files are required for Managed Make projects to build successfully.