The New Project wizard is accessed by selecting
and it lets you create the following kinds of C or C++ projects:The project type folder includes these two templates:
In the New Project dialog (which appears after you select C/C++, you see all wizards for creating projects with a C/C++ nature; expand QNX and you see all wizards for creating projects with a QNX nature. Note that there is overlap between the categories; for example, the C Project wizard appears under both C/C++ and QNX.
), the wizards are categorized according to the nature of the project. If you expandThe IDE also has simple wizards that deal with the basic elements of projects: Project, Folder, and File. These elements have no natures associated with them. You can access these wizards by selecting .
Although a project may seem to be nothing other than a directory in your workspace, the IDE attaches special meaning to a project — it won't automatically recognize as a project any directory you happen to create in your workspace.
Once you've created a project in the IDE, you can bring new folders and files into your project folder, even if they were created outside of the IDE (e.g., using Windows Explorer).
If you select a QNX C/C++ project, the first panel in the wizard looks like this:
Use this type if you want a library that will later be linked into a shared object. The System Builder uses these types of libraries to create new shared libraries that contain only the symbols that are absolutely required by a specific set of programs.
If you select a C/C++ project, the first panel in the wizard looks like this:
After specifying an Executable template, the workbench creates a project with only the metadata files required for your project type, and automatically creates a makefile for you. You can modify these source files, and provide them for the project's target.
When you create a shared library, its name is recorded in a special dynamic section. You can display the information in this section to see a SONAME record. For example, you can use the following:
ntoarmv7-readelf -d libname.so
When you link against this library, your application will look for that name.
When you perform a make install, the .so is copied to .so.1, and a .so symbolic link is created to point to it. The .so link will get the right version, meaning if you install a .so.2 (where the .so points to it), your old version 1 clients can still run.