You use the New Project wizard to create a C or C++ project, which can be one of these
varieties:
- 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 between application or library nature by
using the project properties.
- C Project/C++ Project
- Depending on the wizard you chose, the project types will include the following:
- Executable — Provides an executable application. This project type folder contains
three templates.
- Empty Project — A single source project folder that doesn't
contain any files. After specifying an Executable template, the
workbench creates a project with only the metadata files required for your project type.
Now, you can modify these source files, as required, and provide the source files for the
project's target. Note that for an Executable project type, a
makefile is automatically created for you.
- Hello World C++ Project — A basic C or C++ application with
main. The result is a project that uses a standard
Makefile and GNU make to build the source files.
You don't get the added functionality of the QNX build organization and the
common.mk file, but these projects adapt well to your existing code
that you wish to bring into the IDE. (For more about Makefiles and the
make
utility, see the Conventions for Recursive Makefiles and Directories chapter in the Neutrino
Programmer's Guide.)
- Shared Library — An executable module compiled and linked
separately. When you create a project that uses a shared library
(libxx.so), you define your shared library's project as a Project
Reference for your application. For this project type, the CDT combines object files together
and joins them 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 another application (libxx.a). The CDT combines object files
(i.e. *.o) into an archive (*.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 template type is useful for importing and modifying existing
makefile-based projects; a new makefile is not created for this project type. By default, the
Toolchain and template types 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 your managed make projects to
build successfully.