Discussion:
[omniORB] -wbdll_stubs not implemented?
Robert F. Gunion
2008-06-10 03:00:22 UTC
Permalink
Hi all,

I'm using a project that requires multiple idl files, each in its own
shared library. On linux, everything works as expected. On Windows XP,
I get errors when I invoke _this() on a derived object, relating to an
invalid reference to mymodule::myinterface::_PD_repoId. I can see,
through careful examination of the call stack, that this constant is
being defined in each dll, rather than being defined and exported in
just one dll and referenced as an external symbol in the others.

Chapter 12 of the omniORB 4.1.2 User's Guide ("Packaging stubs into
DLLs") suggests using the -Wbdll_stubs flag to omniidl; however when I
try it I get the message:

omniidl: Fatal error in C++ backend
omniidl:
omniidl: Argument "dll_stubs" is unknown

What am I missing? Is this a deprecated feature, a not-yet-implemented
feature, a documentation bug, or ...?

More detail on my configuration:
I am using the precompiled version of omniORB 4.1.2 for VS8 on Windows
XP SP2, and VS8 (the full version, not the express edition), with SP1
installed.

Thanks!

-------------- next part --------------
A non-text attachment was scrubbed...
Name: rfgunion.vcf
Type: text/x-vcard
Size: 349 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20080609/de059f52/rfgunion.vcf
Dirk O. Siebnich
2008-06-10 17:38:56 UTC
Permalink
Hi Robert!

When I ported my GPLed CCA (CORBA Component Architecture) framework from
Linux to Win32, I was in the fortunate position of having a support
contract with Duncan Grisby through my employer, and we got loading and
unloading of DLLs to work properly - some of the adaptations in omniORB
were done on my request as far as I remember.

The CCA makefiles for Win32 are rather ad-hoc, but I am sure you will
find all the answers to your questions in there.

Right now, the only place where CCA is publicly hosted is in the
openSUSE build service, please try the URL
http://download.opensuse.org/repositories/home:/dirk-s/openSUSE_11.0/src/ . You will have to extract the tar archive from the cca-omniorb source rpm package. Please let me know if this doesn't work for you and we can find another way.

Regards,
Dirk
Duncan Grisby
2008-06-10 17:46:14 UTC
Permalink
Post by Robert F. Gunion
Chapter 12 of the omniORB 4.1.2 User's Guide ("Packaging stubs into
DLLs") suggests using the -Wbdll_stubs flag to omniidl; however when I
omniidl: Fatal error in C++ backend
omniidl: Argument "dll_stubs" is unknown
What am I missing? Is this a deprecated feature, a
not-yet-implemented feature, a documentation bug, or ...?
Sorry, the documentation is wrong. The option does exist and works as
described, but it's called -Wbdll_includes, not dll_stubs.

I'll fix the documentation.

Cheers,

Duncan.
--
-- Duncan Grisby --
-- ***@grisby.org --
-- http://www.grisby.org --
Loading...