Getting Started : Chapter 4 Migrating Applications to Stingray Studio : SFL Compatibility With Earlier Component Releases
SFL Compatibility With Earlier Component Releases
As mentioned above, any of the Stingray Studio components that previously used the Common and MVC libraries now use SFL. What if you upgrade some of your Stingray components to the current version, but you still want to use an earlier version of another Stingray component? You may be wondering, “How do I link my older Stingray component to the newer SFL?”
For example, suppose you have a project that uses Objective Edit 6.0 and Objective Tookit 6.02 and then you installed the most recent Stingray Studio release of Toolkit (which also installs SFL). Now you have Objective Edit 6.0, which used to link with the Common and MVC libraries, and you also have Objective Toolkit 7.11, which will link with SFL. You won’t be able to link both SFL and the Common/MVC libraries in the same application. This means that you will need to rebuild Objective Edit 6.0 to use the newest SFL.
A special compatibility layer has been added to SFL to allow earlier versions of Stingray components to link with the new SFL. In this way, your application will be able to use both earlier component releases and components from the most recent Stingray Studio release with SFL. You will no longer need to link to the Common or MVC libraries at all.
To rebuild Objective Edit 6.0 with SFL, you only need to run the SFL Environment Wizard. At the bottom of the first page, is a checkbox labeled Add SFL compatibility layer paths and is unchecked by default. By selecting this check box, you effectively modify the search paths for Microsoft Visual Studio.
First, the include, src, and lib directories for the older Common and MVC libraries are removed from the search paths. They are replaced by the directories for SFL’s compatibility layer include files. When Objective Edit 6.0 is then rebuilt, its make file will rebuild the Common and MVC libraries, and then Objective Edit. This will behave just as it always has. However, even though the older Common and MVC libraries were rebuilt, Objective Edit will now use the headers for SFL’s compatibility layer and will link to the new SFL.