[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]