[omniORB] omniORB 4.0.1 soon
Duncan Grisby
duncan@grisby.org
Thu Dec 12 12:30:17 2002
On Tuesday 10 December, =?big5?B?TTMwMF+qTMBBwHOzQqr4?= wrote:
> I post before, maybe you forget this problem.
> Including both <COS/CosNotification.hh> and <COS/CosNotifyComm.hh> caused
> some symbols were not exported by VC++.
>
> #include <omniORB/CORBA.h>
> #include <COS/CosNotification.hh>
> #include <COS/CosNotifyComm.hh>
>
> If I preprocess my code and don't build any objects, I'll see
>
> class StructuredPushConsumer {
> public:
> // others I'm not interested
> static const char* _PD_repoId;
> };
>
> It's obviously that the symbol 'StructuredPushConsumer;:_PD_repoId' is not
> exported
It should be exported. If you look at the CosNotifyComm.hh header,
you'll see that the line defining the repoId actually says
static _core_attr const char* _PD_repoId;
The _core_attr macro should be defined to turn into the correct DLL
export declaration. The only circumstance in which it wouldn't be
would be if you define the _COS_LIBRARY symbol. Can you trace through
the file inclusion to see why the _core_attr doesn't resolve to
_OMNIORB_NTDLL_IMPORT, or why that doesn't resolve to the DLL export?
Cheers,
Duncan.
--
-- Duncan Grisby --
-- duncan@grisby.org --
-- http://www.grisby.org --