Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Date: Wed, 5 Apr 2000 14:18:42 -0400 Message-Id: <200004051418.AA1372127564@mail.pcbank.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii From: "number6" Reply-To: X-Sender: To: , Jeremy Dreese Subject: Re: dll and import library X-Mailer: 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 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 >To: cygwin AT sourceware DOT cygnus DOT 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 AT sourceware DOT cygnus DOT com > > > > > > >-- >Want to unsubscribe from this list? >Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com > > -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com