[omniORB] FW: Errors in OMNI

Ravindra Ravindra.Chinchore@datamatics.co.in
Wed, 21 Jun 2000 16:49:26 +0530


  Attached are two IDL files, having circular inclusions ( each one
including the other ).

  The .hh file generated by OmniORB(2.8) IDL compiler do not manage such
circular inclusions properly.

  Following is an excerpt from Customer.hh :--

#ifndef __Customer_hh__
#define __Customer_hh__

#ifndef USE_omniORB_logStream
#define USE_omniORB_logStream
#endif

#ifndef __CORBA_H_EXTERNAL_GUARD__
#define __CORBA_H_EXTERNAL_GUARD__
#include <omniORB2/CORBA.h>
#endif

#ifndef __Account_hh_EXTERNAL_GUARD__
#define __Account_hh_EXTERNAL_GUARD__
#include <Account.hh>
#endif ...

  Following is an excerpt from Account.hh :--

// This file is generated by omniidl2- omniORB_2_8. Do not edit.
#ifndef __Account_hh__
#define __Account_hh__

#ifndef USE_omniORB_logStream
#define USE_omniORB_logStream
#endif

#ifndef __CORBA_H_EXTERNAL_GUARD__
#define __CORBA_H_EXTERNAL_GUARD__
#include <omniORB2/CORBA.h>
#endif

#ifndef __Customer_hh_EXTERNAL_GUARD__
#define __Customer_hh_EXTERNAL_GUARD__
#include <Customer.hh>
#endif ...

  Now, if some program tries to include these files in this way :

#include "Customer.hh"
...
  we get compiler errors in the second .hh file ( i.e. Account.hh ), which
is automatically included in Customer.hh because Account.hh cannot find some
definitions defined in Customer.hh

  The following are some sample errors :--

D:\OmniBank2\Account.hh(207) : error C2433: 'CustomerList' : 'virtual' not
permitted on data declarations
D:\OmniBank2\Account.hh(207) : error C2501: 'CustomerList' : missing
decl-specifiers
D:\OmniBank2\Account.hh(207) : error C2143: syntax error : missing ';'
before '*'
D:\OmniBank2\Account.hh(207) : error C2501: 'getCustomers' : missing
decl-specifiers
D:\OmniBank2\Account.hh(207) : error C2253: 'getCustomers' : pure specifier
only applies to virtual function - specifier ignored
D:\OmniBank2\Account.hh(276) : error C2433: 'CustomerList' : 'virtual' not
permitted on data declarations
D:\OmniBank2\Account.hh(276) : error C2501: 'CustomerList' : missing
decl-specifiers

 & so on.

  We will be highly obliged if you could reply us back with a solution.


[Ravindra Chinchore]

With Best Regards,
Ravindra
----------------------------------------------------------------------
Datamatics Ltd. (Embedded Systems Division),
SDF-6, Unit 189,
SEEPZ,
Andheri (East),
Mumbai - 400 096,
INDIA.

Board	: +91 (22) 829 2410 (2 lines)Ext: 619
Fax  	: +91 (22) 829 2412
E-Mail: Ravindra.Chinchore@Datamatics.Co.in
----------------------------------------------------------------------

[demime 0.97b removed an attachment of type application/octet-stream which had a name of Customer.idl]

[demime 0.97b removed an attachment of type application/octet-stream which had a name of Account.idl]