[omniORB] omniidl c++ mapping

Shawn Bisgrove shawn_bisgrove@yahoo.com
Wed, 15 Mar 2000 10:18:05 -0800 (PST)


Another C++ mapping problem which disappears if the
two files are joined.  I am using OmniOrb 3.0 from
Sunday's CVS on a Solaris 2.6 machine (python 1.52).


When the modules are defined in two different files:

= generic.idl ======================================
module generic {

   typedef string Name;
   struct NameValue
     {
       generic::Name nameOne;
       any value;
     };

   typedef sequence < NameValue > NameValueList;
};
====================================================
= map.idl ==========================================
#include "generic.idl"
module map
{

   struct RegionData
     {
       generic::NameValueList region_data_header;
       any tile_data;
     };
};
====================================================


When I go to compile map I get the following
compilation error:

./mapDynSK.cc: In function `Boolean
_0RL_tcParser_getMemberDesc_map_mRegionData(
tcStructDesc *, long unsigned int, tcDescriptor &)':
./mapDynSK.cc:45: implicit declaration of function
`int _0RL_buildDesc_s0_cgeneric_mNameValue(...)'
./mapDynSK.cc:45: warning: cannot pass objects of type
`generic::NameValueList'
through `...'
make: *** [map] Error 1


However when I ajoin these two files as so:
= map2.idl =========================================
module generic {

   typedef string Name;
   struct NameValue
     {
       generic::Name nameOne;
       any value;
     };

   typedef sequence < NameValue > NameValueList;
};
module map
{

   struct RegionData
     {
       generic::NameValueList region_data_header;
       any tile_data;
     };
};
====================================================

The generated code is correct.


thanks,


Shawn Bisgrove

shawn_bisgrove@partech.com



=====
________________________________________
|shawn_bisgrove@partech.com
|http://www.geocities.com/shawn_bisgrove 
|

__________________________________________________
Do You Yahoo!?
Talk to your friends online with Yahoo! Messenger.
http://im.yahoo.com