Upgrading to the latest TAO version
Last week I assisted one of our customers with an upgrade of TAO 1.4 to TAO 2.0.2. Initially the developers where very concerned and expected a lot of problems. They already tried to upgrade in the past but got a lot of errors and didn't know how they could resolve these.
We started with the port to just see what has to be done and whether we need to make improvements in the latest TAO version to make upgrades easier. The first issue hit was the fact that some application code included
ace/OS_String.h. This file has been removed from the code base. In most cases the include ended up not to be needed, in some cases we had to include a different
ace/OS_NS_*.h header file.
Some of the application code did use the
ACE_*_cast macros (const/static/dynamic). These can easily be replaced with C++ casts by hand or use the bin/ACE-casts-convert script. In this specific upgrade we where lazy and just copied the definition of the
ACE_*_cast macros from 1.4 and pasted them in our
In the customer specific build scripts we only had to add the TAO AnyTypeCode library and than we manged to compile and link all application code.