Linking Windows dll with GCC application on cygwin

Jie Xu jiexu@iems.northwestern.edu
Mon Apr 10 18:10:00 GMT 2006


Thanks a lot!

-Jie

----- Original Message ----- 
From: "Igor Peshansky" <pechtcha@cs.nyu.edu>
To: "Jie Xu" <jiexu@iems.northwestern.edu>
Cc: <cygwin@cygwin.com>
Sent: Monday, April 10, 2006 12:38 PM
Subject: Re: Linking Windows dll with GCC application on cygwin


> On Mon, 10 Apr 2006, Jie Xu wrote:
>
>> I have a dll, for which I don't have the source code, compiled in Visual
>> Studio .NET 2003. How can I link this dll with my C++ codes compiled in
>> GCC on cygwin?
>
> The short answer is: you can't (in general).  C++ name mangling is
> different in GCC and MSVC, so you won't be able to link C++ calls
> properly.
>
> If the functionality exported is all 'extern "C"', you can link to the DLL
> by simply specifying it on the command line.  One thing to keep in mind is
> that the MSVC DLL is going to use the MSVC runtime, and your Cygwin code
> will use the Cygwin runtime, and mixing runtimes is usually not a good
> idea.  Unless you're sure that the functionality you use from the MSVC DLL
> is going to behave properly, be prepared to track down some nasty bugs.
> HTH,
> Igor
> -- 
> http://cs.nyu.edu/~pechtcha/
>      |\      _,,,---,,_     pechtcha@cs.nyu.edu | igor@watson.ibm.com
> ZZZzz /,`.-'`'    -.  ;-;;,_ Igor Peshansky, Ph.D. (name changed!)
>     |,4-  ) )-,_. ,\ (  `'-' old name: Igor Pechtchanski
>    '---''(_/--'  `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!
>
> "Las! je suis sot... -Mais non, tu ne l'es pas, puisque tu t'en rends 
> compte."
> "But no -- you are no fool; you call yourself a fool, there's proof enough 
> in
> that!" -- Rostand, "Cyrano de Bergerac"
> 



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list