The IDE associates projects with natures that define the characteristics of a given project. For example, a Standard Make C Project has a C nature, whereas a QNX C Project has a C nature as well as a QNX C nature, and so on.
QNX C or C++ projects use the QNX recursive Makefile hierarchy to support multiple target architectures; Standard Make C/C++ projects don't.
For more information about the QNX recursive Makefile hierarchy, see the Conventions for Recursive Makefiles and Directories chapter in the Neutrino Programmer's Guide.
The natures inform the IDE what can and can't be done with each project. The IDE also uses the natures to filter out projects that would be irrelevant in certain contexts (for example, a list of QNX System Builder projects won't contain any C++ library projects).
The following table contains the most common projects and their associated natures:
|C++ Project||C, C++|
|QNX C Project||C, QNX C|
|QNX C Library Project||C, QNX C|
|QNX C++ Project||C, C++, QNX C|
|QNX C++ Library Project||C, C++, QNX C|
|QNX System Builder Project||QNX System Builder|
The IDE saves these natures and other information in the files called .project and .cproject in each project. To ensure that these natures persist in your source control system, such as CVS or SVN, include these files when you commit the project.