Switching between SDKs

Updated: April 19, 2023

QNX SDP provides a Software Development Kit (SDK) for writing applications for QNX Neutrino. In the QNX Momentics IDE, you can change the SDK selection to use a toolchain from a particular QNX SDP installation.

In addition to the SDK from QNX SDP 7.1, this release of the IDE can work with the SDK from QNX SDP 6.5.0 SP1, 6.6, and 7.0. Thus, you can install and use more than one of these platform versions on the same host, and you can import workspaces and projects created with the SDK from any of these versions.

To import workspaces, you must use the mechanism to switch workspaces and select one created by an earlier SDK version. The IDE will warn you that it will update the workspace, which may make it incompatible (and hence, non-usable) with the earlier version. If you continue and the workspace import succeeds, all projects in the existing workspace should appear in the Project Explorer. For instructions on importing individual projects, see “Importing existing projects” in the Workbench User Guide. The imported projects preserve all custom settings and are buildable in the new IDE.

Note: When you run applications built with a particular SDK version on the host, the target must be based on the exact same version. Otherwise, many features of debugging (e.g., stepping through code at startup) don't work properly.

Global QNX Preferences

The Global QNX Preferences window is accessed through Window > Preferences > QNX and lets you specify which SDK to use when developing an application.

The SDK Selection fields set some environment variables according to the SDK that you select. The IDE uses these environment variables to locate files on the host computer.

The Select SDK field lists the available SDK installations. When you run the IDE for the first time, by default, it uses the last installed SDK that appears in this list. After you select an SDK, the IDE remembers the setting. At all times, the other fields have values based on this first field:
Field Description
Select SDK The name of the SDK that you want to use, or Use Environment Variables if you want to use the one specified by QNX_HOST and QNX_TARGET.
Version The version of the QNX Momentics tool suite.
SDK Tools Path The location of host-specific files.
SDK Platform Path The location of target-specific files on the host machine.

The Select SDK field corresponds to QNX SDP installations. You can have multiple SDP installations on a system with different packages installed in each; make sure that you select the one that has the appropriate workspace, context, and targets for your project.

For example:
  • To build a QNX VMWare target, the SDK selection must correspond to the SDP installation that has the PCI HW Module x86 package installed.
  • To build a QNX VMWare target with graphics, the SDP installation you select must include the Screen Board Support VMWare (vmwgfx) package.

Environment variables used to locate files

When you select Use Environment Variables in the Select SDK field, QNX Neutrino uses the following environment variables to locate files on the host computer:
QNX_HOST
The location of host-specific files.
QNX_TARGET
The location of target backends on the host machine.
QNX_CONFIGURATION
(QNX SDP 6.6 or earlier)

The location of the qconfig configuration files. These files are copied to the host by the QNX SDP installer, and indicate where you've installed the product.

QNX_CONFIGURATION_EXCLUSIVE
(QNX SDP 7.0 or later)

The location of the qconfig configuration files. These files are copied to the host by the QNX SDP installer, and indicate where you've installed the product.

You need to set this variable only if the default location isn't accessible or if the configuration files are located on a build server.

MAKEFLAGS
The location of included *.mk files.
TMPDIR
A directory used for temporary files. The gcc compiler uses temporary files produced in one compilation stage as the input to the next stage; for example, the output of the preprocessor is the input to the compiler.