This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: dll and import library


Hello all,

I am having a similar problem linking with Sybase Libraries. I am following the procedures documented at this url:

http://sourceware.cygnus.com/ml/cygwin/1999-12/msg00302.html

but I am still getting undefined references to all of the Sybase
library api calls. Does anyone have any insight to this linking
procedure that can provide some more detail. I think the data from
the url above is good, the script provided works great, but I am a 
little sketchy on the "__stdcall" part.  Any help would be greatly
appreciated.

Eric



---------- Original Message ----------------------------------
From: Jeremy Dreese <jdreese@bucknell.edu>
Date: Wed, 5 Apr 2000 11:04:35 -0400 (EDT)

>
>Well, thanks to someone else on the list, it was pointed out to me that I
>didn't include the actual error messages the linker was giving me.
>However, in the process of preparing to send the errors to the list, I may
>have found the solution to my problem.  Here are the errors:
>
>prmtrc.o(.text+0xcc):prmtrc.f: undefined reference to `engopen_'
>prmtrc.o(.text+0x25c):prmtrc.f: undefined reference to `engclose_'
>plot.o(.text+0x2148):plot.f: undefined reference to `engevalstring_'
>plot.o(.text+0x2206):plot.f: undefined reference to `engevalstring_'
>
>(prmtrc.o and plot.o are two of my object files)
>
>I had tried changing my libeng.def file to something like:
>
>-------------
>EXPORTS
>engOpen=engopen_
>engClose=engclose_
>engEvalString=engevalstring_
>--------------
>
>but that didn't seem to help.  But I just tried changing it to:
>
>-------------
>EXPORTS 
>engopen_
>engclose_
>engevalstring_
>--------------
>
>which fixed my linking problem; this seems a little odd to me since the
>function names are "engOpen, engClose, and engEvalString" and not
>"engopen_, engclose_, and engevalstring_", but I am a little new to this.
>
>Of course now I get a runtime error:
>
>"The program_name is linked to the missing export LIBENG.DLL:engclose_"
>
>I'm guessing that just means the program can't find the libeng.dll file,
>so I'll plug away at this problem myself.
>
>Thanks,
>Jeremy
>
>---------- Forwarded message ----------
>Date: Wed, 5 Apr 2000 10:17:05 -0400 (EDT)
>From: Jeremy Dreese <jdreese@bucknell.edu>
>To: cygwin@sourceware.cygnus.com
>Subject: dll and import library
>
>
>I am trying to get a fortran program, which currently runs under Solaris,
>to compile, link, and run on Windows (98 to be exact). The code compiles
>fine using g77.  However, the linking has been a problem because it uses
>some Matlab libraries.  Matlab ships the libraries as stripped DLL's for
>windows; since they're stripped I can't use "nm" to get the symbols to
>export, but I can use "objdump -p" which worked fine. I've tried to use
>dlltool to create an import library (.a file); the creation of the library
>seems to work fine, but when I try to link the various objects, I still
>get unresolved references (which should be resolved via the import
>library).  Here's what I'm doing:
>
>libeng.def file:
>-----------------
>EXPORTS
>FENGCLOSE
>FENGEVALSTRING
>FENGGETARRAY
>FENGGETFULL
>FENGGETMATRIX
>FENGOPEN
>FENGOUTPUTBUFFER
>FENGPUTARRAY
>FENGPUTFULL
>FENGPUTMATRIX
>engClose
>engEvalString
>engGetArray
>engGetFull
>engOpen
>engOpenSingleUse
>engOpenV4
>engOutputBuffer
>engPutArray
>engPutFull
>engSetEvalCallback
>engSetEvalTimeout
>engWinInit
>------------------
>
>Now I run:
>
>dlltool --input-def libeng.def --dllname libeng.dll --output-lib libeng.a
>
>which creates the "libeng.a".
>
>Now I try to link everything:
>
>ld -o program_name $(OBJECTS) -leng $(OTHER_LIBRARIES)
>
>I'm pretty sure the linker is seeing the libeng.a because if I
>change "-leng" to something incorrect like "-len" it reports that it can't
>open "-len".
>
>Any help would be GREATLY appreciated.
>
>
>------------
>Jeremy Dreese
>
>
>
>
>--
>Want to unsubscribe from this list?
>Send a message to cygwin-unsubscribe@sourceware.cygnus.com
>
>
>
>
>
>
>--
>Want to unsubscribe from this list?
>Send a message to cygwin-unsubscribe@sourceware.cygnus.com
>
>

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]