delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2000/05/21/01:47:32

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sourceware DOT cygnus DOT com>
List-Archive: <http://sourceware.cygnus.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sourceware DOT cygnus DOT com>
List-Help: <mailto:cygwin-help AT sourceware DOT cygnus DOT com>, <http://sourceware.cygnus.com/ml/#faqs>
Sender: cygwin-owner AT sourceware DOT cygnus DOT com
Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com
Message-ID: <392777C0.1FDD804F@village.uunet.be>
Date: Sun, 21 May 2000 07:44:32 +0200
From: J D L <De_Laender-De_Winter AT village DOT uunet DOT be>
X-Mailer: Mozilla 4.72 [en] (Win95; I)
X-Accept-Language: en
MIME-Version: 1.0
To: "cygwin AT sourceware DOT cygnus DOT com" <cygwin AT sourceware DOT cygnus DOT com>
CC: earnie_boyd AT yahoo DOT com
Subject: Re: DLL's ; Import libs ; def files etc ..
References: <20000520202210 DOT 10082 DOT qmail AT web125 DOT yahoomail DOT com>


Earnie Boyd wrote:
> 
> --- J D L <De_Laender-De_Winter AT village DOT uunet DOT be> wrote:
> -8<-
> > I have a database program, distributed as an DLL.
> > The distribution contains also import libraries for
> > the Borland compiler and the Microsoft compiler.
> > On top of that it even contains a .DEF file, however with
> > following constructs in it :
> >
> > EXPORTS
> >     _SQLAllocConnect AT 8
> >     _SQLAllocConnect = _SQLAllocConnect AT 8
> >
> > I created a 'cygnus' def file with the usual manipulations out of
> > the FAQ.
> >
> -8<-
> 
> Why didn't you use the supplied .def file to create the import library???  By
> creating your own you missed the aliases that were in the supplied .DEF file
> that caused your problems.
> 

I hoped it was that simple ...

Apart from stopping on some syntax errors before the 'EXPORTS' section
(that I corrected by removing most lines before EXPORTS) :

1) If I keep only the SQLAllocConnect AT 8 then linking goes OK, but
at runtime : linked against not existing SQLAllocConnect AT 8
2) If I keep only SQLAllocConnect, then linking fails ...
3) If I keep the whole stuff, then the same as 1.

My (restricted knowledge) is : 

1) the object code calls _SQLAllocConnect AT 8 (just by construct :
function f -> _f AT stacksize)

2) The import library MUST have this function in it. So in my case
_SQLAllocConnect AT 8 must be in the import

3) The DLL expects _SQLAllocConnect as function call, which
is proven by my manipulation via assembly. Changing the _f@ by _f
does really the job !

4) Somewhere the equivalence between both should be declared
but how and where in cygnus' environment ???? The .DEF file ???

Thanks for all explanation/help !

Jos

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com

- Raw text -


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