[omniORB] omniORB 3.0 on WinNT

Matthias.Klein@tlc.de Matthias.Klein@tlc.de
Mon, 4 Oct 1999 07:48:22 +0100




Hi,

i tried this some time ago. The main problem ist
VC++ not working correctly when using fully scoped names in certain
circumstances (I use 5.0, but 6.0 seems to have the same Problem).

Look at::

> ..\..\..\..\include\omniORB3/poa_defs.h(162) : error C2512:
'Object::Object' : no appropriate default constructor available
> ..\..\..\..\include\omniORB3/poa_defs.h(162) : error C2437: 'Object' :
already initialized
> make[3]: *** [taskqueue.o] Error 2
> make[2]: *** [export] Error 2
> make[1]: *** [export] Error 2
> make: *** [export] Error 2

The source code is:
  inline _objref_AdapterActivator() : CORBA::Object(0) {}  // nil

with AdapterActivator inheriting from CORBA::Object. So Object is directly
visible. This triggers MSVC's bug. Try this "patch":

  inline _objref_AdapterActivator() : /* CORBA:: */Object(0) {}  // nil

Unfortunately, this also affects omniIDL3's code generation.

Matthias