delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/06/22/11:32:03

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
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
Message-ID: <42B9854D.DBC0BD@dessent.net>
Date: Wed, 22 Jun 2005 08:35:41 -0700
From: Brian Dessent <brian AT dessent DOT net>
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: How to make DLLs in cygwin for MSVC and BCB
References: <d9bu24$aa1$1 AT sea DOT gmane DOT org>
X-Spam-Report: -5.9/5.0 ---- Start SpamAssassin results * -3.3 ALL_TRUSTED Did not pass through any untrusted hosts * -2.6 BAYES_00 BODY: Bayesian spam probability is 0 to 1% * [score: 0.0000] * 0.0 AWL AWL: From: address is in the auto white-list ---- End SpamAssassin results
X-IsSubscribed: yes
Reply-To: cygwin AT cygwin DOT com

Patrick Rotsaert wrote:

> I need to build a DLL in cygwin (I use a lot of POSIX functions), that I
> can use in MSVC and Borland CBuilder apps.

http://cygwin.com/faq/faq.html#TOC102

Note that this just references loading cygwin1.dll and getting it
initialized.  If you have your own DLL that depends on cygwin1.dll you
will probably first have to load and initialize Cygwin, and then load
your own DLL.

You may still run into issues if you are trying to use both MSVCRT*.dll
and Cygwin in the same application.  They both implement a completely
separate and incompatible C runtime library, and it certainly won't work
if you try to include both at link-time.  You might get around the
issues if you load cygwin1.dll dynamically and do everything through
GetProcAddress, since that takes care of the problem of having duplicate
symbols for all the CRT functions.  In your example that would mean
calling GetProcAddress for the address of strcpy (and any other Cygwin
function you plan to use.)

And, as far as I know, using cygwin1.dll in this way means all your code
must be released under the GPL, or another OSI approved license.

Brian

--
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