X-Spam-Check-By: sourceware.org Message-ID: <008101c65cc8$cf30bc10$fb246981@iems.northwestern.edu> From: "Jie Xu" To: References: Subject: Re: Linking Windows dll with GCC application on cygwin Date: Mon, 10 Apr 2006 13:01:36 -0500 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=original Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Thanks a lot! -Jie ----- Original Message ----- From: "Igor Peshansky" To: "Jie Xu" Cc: 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 AT cs DOT nyu DOT edu | igor AT watson DOT ibm DOT 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/