Skip to main content

Problem:

Three warnings originate from VisiBroker"s idl files.

Resolution:

Configuration

Article Type:Explanation
Product Name:VisiBroker
Product Version:7.0
Product Component:orb.idl, CosTransactions.idl
Platform/OS Version:ALL

Problem description

idl2cpp displays three warnings :
1)
CosTransactions.idl: 131: (warning)definition of interface ::CosTransactions::Current
?must agree with previous declarations in its use of the "local" keyword
CosTransactions.idl: 131: (warning)(most recent setting will be applied)

2)
idl2cpp: (warning)::CORBA::Environment declared ("/opt/Borland/VisiBroker/idl/orb.idl", line 36) but never defined
idl2cpp: (warning)(references to it will be permitted, but no code will be generated for this definition)

3)
idl2cpp: IDL native type ::CORBA::AbstractBase has no known translation; generated code will not be valid


Answer/Feedback

1)
"interface Current" is declared as

L57:interface Current;

but defined as

L131:local interface Current
L132:{

in /idl/CosTransactions.idl.

This should be declared as "local" according to

http://www.omg.org/technology/documents/formal/transaction_service.htm

thus the mismatch is harmless.

2)
The interface "Environment" is declared as

L37:interface Environment;

in orb.idl but not defined in it.

To supress warning, pass the option

-no_warn_missing_define

in the command line.
3)
"AbstractBase" is for Java"s idl and it declared as

L373:#if !defined(CPP) && !defined(CSHARP)
L374:native AbstractBase;
L375:#endif

in orb.idl, however, "CPP" nor "CSHARP" never declared in default.
To solve the problem, declare "CPP" explicitly in command line as;

-DCPP

Author:Naoki Kawasumi

Old KB# 26235

#VisiBroker
#Security