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]

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


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