From: thunter AT cfa DOT harvard DOT edu (Todd R. Hunter) Subject: B19,20: name of DLLs truncated to "dll"? 1 Nov 1998 06:56:04 -0800 Message-ID: Reply-To: thunter AT cfa DOT harvard DOT edu Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII To: gnu-win32 AT cygnus DOT com I am trying to link a C program that accesses two third-party DLLs. Following instructions in the FAQ, I have culled out .def files from the existing .LIB files, determined the mangled names from the subsequent linker errors, and created corresponding .a files to link against these DLLs by using dlltool as follows: dlltool -k --def gpib-32.def --dllname gpib-32.dll --output-lib libgpib-32.a When I compile and link using B18, the programs load the appropriate DLLs and execute properly. However, when I try to use the newer releases B19 or (as I discovered tonight) B20, I get the following fatal error message upon execution: "the dynamic link library dll cannot be found" I was hoping that B20 would magically fix this problem, but alas no. Here is the output of cygcheck on the B20-compiled version: cygcheck laser.exe Found: .\laserb20.exe Found: c:\users\thunter\laserCode\bin\laserb20.exe ..\laserb20.exe Error: could not find dll Error: could not find dll c:\cygnus\CYGWIN~1\H-I586~1\bin\cygwin1.dll C:\WINNT35\System32\advapi32.dll C:\WINNT35\System32\ntdll.dll C:\WINNT35\System32\KERNEL32.dll C:\WINNT35\System32\USER32.dll C:\WINNT35\System32\GDI32.dll C:\WINNT35\System32\RPCRT4.dll Similarly, here are some relevant lines of the output of objdump -p: DLL Name: dll vma: Hint/Ord Member-Name ... DLL Name: dll vma: Hint/Ord Member-Name ... DLL Name: cygwin1.dll vma: Hint/Ord Member-Name ... DLL Name: kernel32.dll vma: Hint/Ord Member-Name ***** By contrast, here is the working b18-compiled version: ***** cygcheck laser.exe Found: .\laser.exe Found: c:\users\thunter\laserCode\bin\laser.exe ..\laser.exe .\gpib-32.dll <-----note that these are found correctly in b18 .\nidaq32.dll <-----note that these are found correctly in b18 .\MSVCRT.dll C:\WINNT35\System32\KERNEL32.dll C:\WINNT35\System32\ntdll.dll C:\WINNT35\System32\USER32.dll C:\WINNT35\System32\GDI32.dll C:\WINNT35\System32\ADVAPI32.dll C:\WINNT35\System32\RPCRT4.dll C:\WINNT35\System32\nicfq32.dll C:\WINNT35\System32\NISSM32.dll C:\WINNT35\System32\WINSPOOL.DRV c:\usr\bin\cygwin.dll C:\WINNT35\System32\wsock32.dll C:\WINNT35\System32\WS2_32.dll C:\WINNT35\System32\WS2HELP.dll and objdump -p: DLL Name: gpib-32.dll vma: Hint/Ord Member-Name ... DLL Name: nidaq32.dll vma: Hint/Ord Member-Name ... DLL Name: cygwin.dll vma: Hint/Ord Member-Name ... DLL Name: kernel32.dll vma: Hint/Ord Member-Name Does anyone know of any changes in dlltool between b18 and b19 which would have this effect? Is there some other command-line switch I need to set? I've tried re-running the b20 version of dlltool, but the same problem persists. Thanks, Todd Hunter thunter AT cfa DOT harvard DOT edu - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".