Hello friends,
I have just moved our development users onto an AlphaServer 1200 which
turns out to have C++ 6.0 installed and come up against a compiler
version compatibility problem as describe below.
Any advice would be very welcome.
Thanks in advance
=========================================================
Hi
we are trying to migrate to the new C++ V6.0 compiler on a DEC 1200 from
the C++ V5.7 on a DEC 255. At the moment we have to use the -oldcxx
option on the cxx to get our old stuff to compile. A true migration will
take too much time at the moment and so is not a immediate option.
Unfortunately the old code, which compiled and linked fine with the C++
V5.7 included the <string> - headers and libraries. When moving to the
V6.0 with the -oldcxx option on we can compile our code but cannot link
it. The linker will search for two undefined symbols:
- nullref
- nullref_defined
These symbols do exist in the libcxxstd but not in libcxxstd_oldcxx, but
unfortunately within the namespace __rwstd. Compiling the source code
with -oldcxx will disable namespaces, so that the linker cannot find
these symbols.
What we did to circumvent this problem was to define the missing symbols
seperately:
unsigned long nullref[65];
int nullref_defined;
Questions:
- does this bugfix cause any problems?
- are there better ways to do this?
- is this a bug or a feature ( after all, <string> is located in the
cxx_oldcxx - header file directory ) ?
Thank you for your help
Sven E. Knop
London Clearing House
========================================================================
=========
Received on Tue May 19 1998 - 19:05:31 NZST