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 Message-ID: <389F2DA0.7005A999@cs.unc.edu> Date: Mon, 07 Feb 2000 15:40:00 -0500 From: Jeffrey Juliano X-Mailer: Mozilla 4.7 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 To: cygwin AT sourceware DOT cygnus DOT com Subject: import library link problem Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I think someone here will know what I'm doing wrong from just reading my description of the problem. Plus, it can't hurt to have this case study in the archive and search engine. I'm willing to update my compiler version, but don't think it's related to the problem. Thanks in advance for any help. In researching this problem, I've found a lot of people answering "check the archives" for dlltool issues (mine may or may not be a dlltool issue), but I couldn't actually find anything in the archive showing the correct way to use dlltool. Next time someone answers this way, perhaps it should contain a link to where the info really is. (I think it's in the online cygwin manual, but that's probably not what everyone is referring to.) --jeff ------------------ Cygwin-1.0 using stock compiler/binutils. I'm having trouble linking my stuff with an an import library (is this the correct name) created from a .def file and a .dll, using dlltool. It may be a problem with my .h file, but I don't think that's it. I'm at a loss as to where to look next. I'm getting a bunch of warnings, like the following, that I want to get rid of: Warning: resolving _glDrawBuffer by linking to _glDrawBuffer AT 4 Use --enable-stdcall-fixup to disable these warnings Use --disable-stdcall-fixup to disable these fixups This implies that the .h file got __stdcall right: $ nm *.o *.a | grep glDrawBuffer U _glDrawBuffer AT 4 Here's some relavent output from nm `g++ --print-file-name=libopengl32.a` ds71.o: 00000000 b .bss 00000000 d .data 00000000 ? .idata$4 00000000 ? .idata$5 00000000 ? .idata$6 00000000 ? .idata$7 00000000 t .text 00000000 ? ___imp_glDrawBuffer AT 4 U __head_libopengl_a 00000000 T _glDrawBuffer AT 4 All the zeros worry me. Are they a problem? I created libopengl.a by invoking dlltool as follows: dlltool --def opengl32.def \ --dllname opengl32.dll \ --output-lib libopengl32.a where opengl32.dll is the standard one that comes with NT4.0, and opengl32.def is from my predecessor. (I think it's identical to what's in winsup/sysdef). Here are some of the lines: EXPORTS glDrawBuffer AT 4 winsup/sysdef/opengl32.def has a line that my .def doesn't: LIBRARY OPENGL32.DLL I couldn't find an explanation of what this line does. Anyway, it seems to be irrelavent to my problem. is winsup/sysdef/opengl32.def a complete .def file for the standard winNT opengl32.dll? thanks, -jeff -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com