[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