[omniORB] Compiling OmniORB with VC8

Tom Pham tpham at seismicmicro.com
Tue Oct 11 10:33:05 BST 2005


We tried to compile with the x86_nt_4.0_vs_7.mk platform file
from the Visual Studio 2005 command prompt, but was not successful.

It seems that the VC8 compiler is stricter than the VC7 compiler.
The build failed while trying to build orbcore.  This is a snippet of
the error message regarding 'operator >>=', the compiler cannot find
an overloaded version that takes '(CORBA::ULong, cdrStream)':

making export in src/lib/omniORB/orbcore...
make[3]: Entering directory `/cygdrive/c/OmniORB/4.0.4.vc8/src/lib/omniORB/orbcore'
../../../../bin/x86_win32/clwrapper -gnuwin32 -c -O2 -MT -EHsc -D_WINSTATIC -I.. -I./.. -I../../../../include/omniORB4/internal  -DUSE_omniORB_logStream -D_OMNIORB_LIBRARY -DCONFIG_DEFAULT_LOCATION='"C:\\OMNIORB.CFG"' -DCONFIG_ENV='"OMNIORB_CONFIG"' -D"NTArchitecture" -I. -I. -I../../../../include -D__WIN32__ -D_WIN32_WINNT=0x0400 -D__x86__ -D__NT__ -D__OSVERSION__=4 -Fostatic/corbaBoa.o corbaBoa.cc
corbaBoa.cc
..\..\..\..\include\omniORB4/stringtypes.h(144) : warning C4996: 'strcpy' was declared deprecated
        C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\string.h(56) : see declaration of 'strcpy'
..\omniORB4/ir_operators.hh(6) : error C2665: 'operator >>=' : none of the 93 overloads could convert all the argument types
        ..\..\..\..\include\omniORB4/corba_operators.h(41): could be 'CORBA::Boolean operator >>=(const CORBA::Any &,const CORBA::UNKNOWN *&)'
        ..\..\..\..\include\omniORB4/corba_operators.h(41): or 'CORBA::Boolean operator >>=(const CORBA::Any &,const CORBA::BAD_PARAM *&)'
        ..\..\..\..\include\omniORB4/corba_operators.h(41): or 'CORBA::Boolean operator >>=(const CORBA::Any &,const CORBA::NO_MEMORY *&)'
        ..\..\..\..\include\omniORB4/corba_operators.h(41): or 'CORBA::Boolean operator >>=(const CORBA::Any &,const CORBA::IMP_LIMIT *&)'
        ..\..\..\..\include\omniORB4/corba_operators.h(41): or 'CORBA::Boolean operator >>=(const CORBA::Any &,const CORBA::COMM_FAILURE *&)'
        ..\omniORB4/corbaidl_operators.hh(157): or '_CORBA_Boolean operator >>=(const CORBA::Any &,const CORBA::WStringSeq *&)'
        ..\omniORB4/ir_operators.hh(5): or 'void operator >>=(CORBA::DefinitionKind,cdrStream &)'
        while trying to match the argument list '(CORBA::ULong, cdrStream)'

Regards,
Tom

-----Original Message-----
From: Duncan Grisby [mailto:duncan at grisby.org]
Sent: Tuesday, October 11, 2005 8:07 AM
To: Tom Pham
Cc: omniorb-list at omniorb-support.com
Subject: Re: [omniORB] Compiling OmniORB with VC8 


On Friday 7 October, "Tom Pham" wrote:

> Currently we are using OmniORB 4.0.4 compiled with VC7, and would like
> to upgrade to VC8.  Is there a new x86_nt_4.0_vs_8.mk file that we can
> use?  Also, will we need to update to OmniORB 4.0.6?, or can we stay
> with 4.0.4? Thanks in advance for your help.

Have you tried compiling with the x86_nt_4.0_vs_7.mk platform file?
With any luck that will just work with VC8.

It's a good idea to update to 4.0.6 anyway, because there are a number
of important bug fixes.

Cheers,

Duncan.

-- 

 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --



More information about the omniORB-list mailing list