public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* Re: COM DLL with Cygwin C++?
       [not found] <994918283.14884.ezmlm@sources.redhat.com>
@ 2001-07-13  2:58 ` Julian Hall
  2001-07-13  9:10   ` jcast
  0 siblings, 1 reply; 3+ messages in thread
From: Julian Hall @ 2001-07-13  2:58 UTC (permalink / raw)
  To: cygwin

I tried to make this work a little while back; unfortunately G++'s object model seems to be incompatible with MSVC++'s, with the effect that only COM objects written in C can be compiled with G++.  I think this is due to the name mangling, but there is also a problem with exception handling.

Jules


     I have C++ COM DLL that compiles with both GNU/Cygwin
     and MSVC V6. I can call the function only when
     compiled with MSVC 6, however.

     I think this is because of the screwy private
     declaration in the Microsoft .DEF file. I never
     understood why that was required.

     Anyway, how do I acheive the equiv. effect with
     GNU/Cygwin C++? Does any one have a sample?

           Thanks,
                    Siegfried


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: COM DLL with Cygwin C++?
  2001-07-13  2:58 ` COM DLL with Cygwin C++? Julian Hall
@ 2001-07-13  9:10   ` jcast
  0 siblings, 0 replies; 3+ messages in thread
From: jcast @ 2001-07-13  9:10 UTC (permalink / raw)
  To: Julian Hall

Julian Hall <jules@acris.co.uk> wrote on Fri, 13 Jul 2001 11:05:53 +0100:

> I tried to make this work a little while back; unfortunately G++'s
> object model seems to be incompatible with MSVC++'s, with the effect
> that only COM objects written in C can be compiled with G++.  I
> think this is due to the name mangling, but there is also a problem
> with exception handling.

> Jules

IIRC, COM uses its own (HRESULT-based) exception handling, so that's
not an issue.  Furthermore, name mangling has /nothing/ to do with
COM; COM lives exclusively at the binary level.  The only names COM
cares about are the hooks it uses to get your class factory, and I
believe they're `extern "C"'.

Any incompatibility between COM/MSVC++ and g++ that's relevant here
would be in the virtual function ABI, not in the areas you mention.

FYI

Jon Cast

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* COM DLL with Cygwin C++?
@ 2001-07-11 20:31 Richard Heintze
  0 siblings, 0 replies; 3+ messages in thread
From: Richard Heintze @ 2001-07-11 20:31 UTC (permalink / raw)
  To: cygwin

I have C++ COM DLL that compiles with both GNU/Cygwin
and MSVC V6. I can call the function only when
compiled with MSVC 6, however.

I think this is because of the screwy private
declaration in the Microsoft .DEF file. I never
understood why that was required.

Anyway, how do I acheive the equiv. effect with
GNU/Cygwin C++? Does any one have a sample?

      Thanks,
               Siegfried

__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2001-07-13  9:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <994918283.14884.ezmlm@sources.redhat.com>
2001-07-13  2:58 ` COM DLL with Cygwin C++? Julian Hall
2001-07-13  9:10   ` jcast
2001-07-11 20:31 Richard Heintze

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).