Appendix: Migrating from Earlier Releases

You can select a topic from this diagram:

Glossary What's New Utilities Used by the IDE Getting System Information Using Code Coverage Common Wizards Reference Preparing Your Target Developing Photon Applications Developing C/C++ Programs Where Files Are Stored Building OS and Flash Images Migrating to the 6.3 Release Tutorials IDE Concepts About This Guide Analyzing Your System With Kernel Tracing Profiling an Application Finding Memory Errors Debugging Programs Managing Source Code Launch Configurations Reference

Workflow diagram with migration chapter highlighted


You can easily migrate your old workspace and projects to this release.

In this chapter:

Introduction

Upgrading from a previous version of the IDE involves two basic steps:

Step 1 -- converting your development workspace to be compliant with the latest version of the IDE framework. The IDE performs this process automatically at startup when it detects an older workspace version.


Note: You can redirect the IDE to point at different workspaces by launching it with this command:

qde -data path_to_workspace


Step 2 -- converting your individual projects. Depending on which version of the IDE framework you're migrating from (6.2.0, 6.2.1, or 6.3), you'll have to take different steps to convert your projects.

From 6.3.0 SP1, SP2, or SP3 to IDE 4.0

You can upgrade to IDE 4.0 from 6.3.0 SP1, SP2, or SP3 -- whether or not you've also installed the QNX Neutrino Core OS 6.3.2. The information for migrating from 6.3.0 to SP2 or SP3 still applies; see below.

Note the following:

From 6.3.0 to 6.3.0 Service Pack 2 or Service Pack 3

In addition to the many fixes and enhancements to the QNX plugins, Service Pack 2 (which is also incorporated in Service Pack 3) introduces a completely new version of the IDE, based on Eclipse 3 and CDT 2.

For a list of new workbench features, see "What's New in 3.0" in the Workbench User Guide (Help-->Help Contents-->Workbench User Guide-->What's new).

For a list of new CDT features, see "What's new in the CDT?" in the C/C++ Development User Guide (Help-->Help Contents-->C/C++ Development User Guide-->What's new).

In addition to information about migrating your workspace and your projects, this section includes some issues you might run into.

Migrating your workspace

Your workspace is automatically upgraded the first time you launch the new IDE. This process is entirely automated and cannot be prevented. If you need to revert to an older version of the IDE, be sure to read the "Reverting to an older IDE" section.

You will receive an error message during this process with the following text:

"Could not restore Workbench layout. Reason: Problems occurred restoring workbench."

This message is caused by internal changes to many of the perspectives commonly used for C/C++ development. You can safely ignore this error.

To prevent this error from coming up every time you load the IDE (and to prevent a similar error when you exit the IDE):

  1. Switch to the IDE workbench, if necessary.
  2. Choose Window-->Reset Perspective from the menu.
  3. Switch to each of your open perspectives, and repeat step 2.

Note: This error reappears later if you open a perspective that's currently closed, but that had been used at some point in the older IDE. Use this same process to get rid of the error message.

Resetting the existing perspectives also gives you full access to all of the new features available in views that were open in those perspectives.

Migrating your projects

Like your existing workspace, your projects are automatically upgraded to take advantage of the new IDE.

To complete the migration of your projects to the new IDE:

  1. Right-click your project in the C/C++ Projects view or the Navigation view.
  2. Select Properties from the pop-up menu.
  3. If your project is a Standard Make C/C++ project, select C/C++ Make Project in the list on the left to display the Make Builder settings:

    Make  Builder settings - Standard C/C++ Project

  4. If your project is a QNX C/C++ project, select QNX C/C++ Project in the list on the left, then the Make Builder tab to display the Make Builder settings:

    Make Builder  settings - QNX C/C++ Project

  5. Check the Clean box in the Workbench Build Behavior group, and enter clean in the text field.
  6. Click Apply to save your settings, or OK to save your settings and close the dialog.
  7. Repeat this process for each of your projects.

Migration issues

This section describes the following issues:

Intel ICC error parser

If you have the Intel C/C++ Compiler installed, you need to update the Error Parser tab in the Properties dialog for each of your projects using ICC.

  1. Right-click your project in the C/C++ Projects view or the Navigator view.
  2. Choose Properties from the context menu. The project Properties dialog is displayed.
  3. Choose the QNX C/C++ Project entry in the list on the left, then the Error Parsers tab.

    In the list of error parsers, you'll notice a selected blank entry, and an unselected entry for the ICC error parser:

    ICC error parser  entries

    The selected blank entry is for the 6.3.0 ICC error parser, and the new ICC error parser is the 6.3.0 Service Pack 2 error parser.

  4. Uncheck the blank entry.
  5. Check the Intel C/C++ Compiler Error Parser entry.
  6. Click Apply to save your changes, or OK to save your changes and close the dialog.

File search error

If you're using a 6.3.0 workspace instead of a new 6.3.0 Service Pack 2 workspace, you may receive errors when performing a file search (Search-->File...):

File search error

You can ignore this error; it doesn't affect the search results.

To get rid of this error when doing file searches, create a new workspace and import your previous projects into the new workspace.

Reverting to an older IDE

When you load an existing project created with an older version of the IDE, the IDE updates the project to take advantage of new features. This can cause problems if you try to load the project into an older version of the IDE.

If you plan to revert to an older version of the IDE, you need to make a backup copy of your workspace before using the new version of the IDE.

Your workspace is located in C:/QNX630/workspace under Windows, or ~/workspace under QNX, Linux, and Solaris.


Note: Don't use cp to back up your workspace under Windows; use xcopy or an archiving/backup utility.

Importing into an older IDE

You can also import an existing project to an older version of the IDE:

  1. Make a backup copy of your workspace.
  2. Remove the .cdtproject and .project files from your project's directory.
  3. Import your project into the older version of the IDE.

Missing features in context menus

If you're missing new features in context menus, such as the ones available in the C/C++ Projects perspective, or if you're missing standard views, such as the Problems view in the C/C++ Development perspective, you need to reset your perspective.

To reset your perspective, follow the instructions in the "Migrating your workspace" section.

System Builder Console doesn't come to front

By default, the QNX System Builder perspective's Console view doesn't automatically switch to the front when building. In the new IDE, changed views change the style of the view title.

If you prefer the old behavior and want the Console view to automatically come to the front during a build:

  1. Choose Window-->Preferences to open the Preferences dialog.
  2. Expand the C/C++ entry in the list, then choose Build Console to display the console preferences.
  3. Check Bring console to top when building (if present), then click the OK button to save your changes and close the Preferences dialog.

Old launch configurations don't switch perspectives automatically

Because of the internal data structure changes, launch configurations created with an older version of the IDE won't automatically switch to the Debug perspective when used as a debug configuration.

To fix this problem:

  1. Choose Run-->Debug... to open the Debug configuration dialog.
  2. Change any of the settings for this launch configuration, then click Apply to save the change.
  3. Change the setting back to the way you had it before, then click OK to revert your change and close the dialog.

From 6.2.1 to 6.3.0

Migrating your workspace


Note: This conversion is a one-way process. Although your data files remain intact, you won't be able to use this workspace with earlier versions of the IDE.

  1. Start the IDE pointing at your 6.2.1 workspace. You'll see a splash page ("Please wait -- Completing the install"), followed by the Different Workspace Version dialog:

    Workspace version dialog

  2. Click OK to convert your workspace.
  3. If a System Builder project exists in your workspace, the Migrate Project dialog is displayed:

    Migrate Project dialog

    Click Yes to update your System Builder project, or No to leave it in the 6.2.1 format. You won't be able to use the project with the 6.3 IDE unless you update it.

  4. Next the Workbench Layout dialog tells you that the layout of some of the views and editors can't be restored:

    Workbench layout dialog

    This is to be expected, because we upgraded the minor version of installed components, so there may be some UI adjustments. Click OK.

    Now you're ready to migrate your existing projects to 6.3.0.

Migrating your projects

If the 6.3.0 IDE detects any 6.2.1 Standard Make C/C++ projects at startup, you'll be prompted to convert these projects to the new format:

CDT conversion prompt

You must run this conversion process over each 6.2.1 project so it can take full advantage of the new features of the C/C++ Development Tools.


Note: QNX C/C++ projects are automatically converted to the new project format.

Running the conversion wizard

At startup, the conversion wizard automatically checks for projects to convert. Note that you can convert older projects that were never in the workspace (e.g. projects you've brought in via a revision control system).

You can access the Make Project Migration wizard at any time:
Open Window-->Customize Perspective...-->Update Make Projects (Commands tab).

The IDE then adds an icon (Update Old Make Project) to the toolbar so you can launch the conversion wizard. The icon is activated whenever you select projects that are candidates for conversion.

CDT conversion icon

The conversion wizard looks like this:

CDT conversion wizard

From 6.2.0 to 6.3.0

  1. Start the IDE pointing at your 6.2.0 workspace. You'll see a splash page ("Please wait -- Completing the install"), followed by the Different Workspace Version dialog:

    Workspace version dialog

  2. Click OK to convert your workspace.
  3. Next, the Cannot Preserve Layout dialog tells you that the saved interface layout can't be preserved:

    Layout obsolete prompt

    This is to be expected, because we upgraded the major, incompatible versions of installed components and of the workspace itself. Click OK.

    Now you're ready to migrate your existing projects to 6.3.0.

Migrating your projects

The format of 6.2.0 C/C++ projects (including QNX projects) is incompatible with the 6.3.0 format -- you must follow these steps to convert your old projects:

  1. The initial projects appear in the workspace as non-C/C++ projects. First you must convert each project based on the type of project it was originally stored as:

    Use the appropriate conversion wizard:

    For this type of project: Open this wizard:
    Standard C/C++ File-->New-->Other...-->C-->Convert to a C/C++ Make Project
    QNX C/C++ File-->New-->Other...-->QNX-->Migrate QNX 6.2.0 Projects
  2. Go through this conversion process for each 6.2.0 project so it can take full advantage of the new features of the C/C++ Development Tools. You must also do this for any projects that are stored outside your workspace (e.g. in a revision control system).

Note: Many project options have changed from QNX Momentics 6.2.0 to QNX Momentics 6.3.0. Although the conversion process attempts to maintain configuration options, you should verify your individual project files to make sure any new settings have been initialized to the values you want.