[omniORB] ir.idl?
Mike Ladwig
mike@twinpeaks.prc.com
Tue, 24 Apr 2001 11:02:23 -0400
Thanks for the reply.
That solved part of the problem; now I understand what the
EXTERNAL_GUARD stuff is all about. Unfortunately, now I have other
problems. I've appended the error messages, but the gist is that none
of the types and skeletons associated with InterfaceDef (what I'm really
after) appear to be defined. The first error on the CosQuery.hh line:
typedef CORBA::_sk_InterfaceDef _sk_QLType;
The second (line 218 is)
class QL_Sequence : public _CORBA_Unbounded_Sequence_ObjRef<
CORBA::_objref_InterfaceDef, _CORBA_ObjRef_Element<
CORBA::_objref_InterfaceDef, CORBA::InterfaceDef_Helper> , QLType_Helper> {
and so on.
Thanks,
mike.
c++ -c -D_REENTRANT -DIT_POSIX_THREADS -D_THREAD_SAFE -traditional
-DIT_EX_MACROS -DUSE_IFR -DOMNI -D__x86__ -D__linux__ -D__OSVERSION__=2
-I/usr/local/omni/include -I/usr/local/omni/include/omniORB3
-I/usr/local/omni/include/omnithread -I/usr/include/mysql
-I/home/mike/workspace/sage/idl/Linux_i686
-I/home/mike/workspace/sage/include -DUSE_NAMESERVICE -fpic
Linux_i686/CosQuerySK.cc -o Linux_i686/CosQuerySK.o
In file included from Linux_i686/CosQuerySK.cc:4:
/home/mike/workspace/sage/idl/Linux_i686/CosQuery.hh:213: syntax error
before `;'
/home/mike/workspace/sage/idl/Linux_i686/CosQuery.hh:218:
`QLType_Helper' was not declared in this
scope
/home/mike/workspace/sage/idl/Linux_i686/CosQuery.hh:218: template
argument 3 is invalid
/home/mike/workspace/sage/idl/Linux_i686/CosQuery.hh:220: ISO C++
forbids declaration of
`QL_Sequence_var' with no type
/home/mike/workspace/sage/idl/Linux_i686/CosQuery.hh:220: parse error
before `;'/home/mike/workspace/sage/idl/Linux_i686/CosQuery.hh:227: type
specifier omitted for parameter
/home/mike/workspace/sage/idl/Linux_i686/CosQuery.hh:227: parse error
before `*'/home/mike/workspace/sage/idl/Linux_i686/CosQuery.hh:228:
missing ';' before right brace
/home/mike/workspace/sage/idl/Linux_i686/CosQuery.hh: In method
`CosQuery::QL_Sequence::QL_Sequence
(const CosQuery::QL_Sequence &)':
/home/mike/workspace/sage/idl/Linux_i686/CosQuery.hh:223:
`QLType_Helper' undeclared (first use this
function)
/home/mike/workspace/sage/idl/Linux_i686/CosQuery.hh:223: (Each
undeclared identifier is reported only
once for each function it appears in.)
/home/mike/workspace/sage/idl/Linux_i686/CosQuery.hh:223: template
argument 3 is invalid
/home/mike/workspace/sage/idl/Linux_i686/CosQuery.hh:223: confused by
earlier errors, bailing out
make: *** [Linux_i686/CosQuerySK.o] Error 1
[mike@ci cosQuery]$
Sai-Lai Lo wrote:
> Mike,
>
> Because what is defined in corbaidl.idl and ir.idl appears within the CORBA
> namespace, we have to treat the header files differently so that the
> declarations appear in the right scope even for the compilers that does not
> support namespace. The consequence is that the header files for these 2
> idls are splitted into several fragments and got included from CORBA.h at
> several different places.
>
> Simply put it, corbaidl.hh and ir.hh does not exist and does not needed to
> be included.
>
> Please add the following to the end of CORBA.h
>
> #ifndef __corbaidl_hh_EXTERNAL_GUARD__
> #define __corbaidl_hh_EXTERNAL_GUARD__
> #endif
> #ifdef ENABLE_CLIENT_IR_SUPPORT
> #ifndef __ir_hh_EXTERNAL_GUARD__
> #define __ir_hh_EXTERNAL_GUARD__
> #endif
> #endif
>
> This disables the include in the COSQuery stub header and you will be fine
> as long as you define ENABLE_CLIENT_IR_SUPPORT.
>
> Regards,
>
> Sai-Lai
>