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/ |\ _,,,---,,_ [EMAIL PROTECTED] | [EMAIL PROTECTED] 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/