delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/04/10/13:38:54

X-Spam-Check-By: sourceware.org
Date: Mon, 10 Apr 2006 13:38:34 -0400 (EDT)
From: Igor Peshansky <pechtcha AT cs DOT nyu DOT edu>
Reply-To: cygwin AT cygwin DOT com
To: Jie Xu <jiexu AT iems DOT northwestern DOT edu>
cc: cygwin AT cygwin DOT com
Subject: Re: Linking Windows dll with GCC application on cygwin
In-Reply-To: <e1dru7$par$1@sea.gmane.org>
Message-ID: <Pine.GSO.4.63.0604101330360.20193@access1.cims.nyu.edu>
References: <e1dru7$par$1 AT sea DOT gmane DOT org>
MIME-Version: 1.0
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019