[omniORB] omniidl creating invalid include entry in generated
header file
Lichszteld,Roman
Roman.Lichszteld at bronermetals.com
Thu Jul 27 13:42:54 BST 2006
I have downloaded and compiled omniORB 4.0.7 on an HP-UX 11.23 Itanium
system using the HP aC++/ANSI C B3910B A.06.10 [Mar 22 2006] compiler.
After compiling IDL files I noticed that some of generated .hh files contain
the following block:
#ifndef __header_hh_EXTERNAL_GUARD__
#define __header_hh_EXTERNAL_GUARD__
#include "header.hh"
#endif
Problem is that 'header.hh' does not exist!
For instance 'CosNotifyComm.hh': I would rather expect that section instead:
#ifndef __CosNotification_hh_EXTERNAL_GUARD__
#define __CosNotification_hh_EXTERNAL_GUARD__
#include "CosNotification.hh"
#endif
When I modified it as above everything works fine.
Similarly 'header.hh' include was generated for 'CosEventChannelAdmin.hh'
but in that case all I had to do was to remove this block as redundant.
I had no such problems while building omniORB 4.0.7 on Debian Linux
2.4.18-1-686 with gcc v2.95.4
I found similar issue reported by Brian McNamara last year but no workaround
for it so far.
Unfortunately it is not a whole story:
After I got everything up and running I tried to compile my sample IDL
(with command line options: -bcxx -Wba -Wbh='.h' -Wbs='.cxx'
-Wbd='DynSK.cxx' -Wbkeep_inc_path -C.):
#ifndef TEST_IDL
#define TEST_IDL
#include "module1.idl"
#include "module2.idl"
#include "module3.idl"
// Rest of the file...
#endif
This is header file generated by omniidl:
[...]
#ifndef ___hh_EXTERNAL_GUARD__
#define ___hh_EXTERNAL_GUARD__
#include <.h>
#endif
#ifndef __module2_hh_EXTERNAL_GUARD__
#define __module2_hh_EXTERNAL_GUARD__
#include "module2.h"
#endif
#ifndef __module3_hh_EXTERNAL_GUARD__
#define __module3_hh_EXTERNAL_GUARD__
#include "module3.h"
#endif
[...]
Again as you can see instead of '#include "module1.h"' there is an invalid
'.hh' section...
Thanks for any help,
Roman Lichszteld
More information about the omniORB-list
mailing list