From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Stephane Mariel" To: Subject: DLL Problem Date: Wed, 20 Aug 1997 09:06:00 -0000 Message-id: <199708201219.OAA01103@hugo.int-evry.fr> X-SW-Source: 1997-08/msg00386.html [this is a repost, the first one should be lost, hope you will not recieve it twice] Hi, I'm trying to port a tcl module from unix to win95 as a dll to load within wish. So i tried to began with the example provided on cygnus.com , it works fine, i got my foo.dll, main.exe, but moving to my real software when I run ld I got: c:/gnuwin32/b18/H-i386-cygwin32/i386-cygwin32/lib/libcygwin.a(libccrt0.o)(.t ext+0x8a):libccrt0.cc: undefined reference to `GetModuleHandleA@4' c:/gnuwin32/b18/H-i386-cygwin32/i386-cygwin32/lib/libcygwin.a(libcmain.o)(.t ext+0xc):libcmain.cc: undefined reference to `GetModuleHandleA@4' c:/gnuwin32/b18/H-i386-cygwin32/i386-cygwin32/lib/libcygwin.a(libcmain.o)(.t ext+0x15):libcmain.cc: undefined reference to `GetCommandLineA@0' c:/gnuwin32/b18/H-i386-cygwin32/i386-cygwin32/lib/libcygwin.a(libcmain.o)(.t ext+0x1e):libcmain.cc: undefined reference to `WinMain@16' This seems to be a reentrancy problem, since a simple call like : fprintf(stderr, ...) makes use of _impure_ptr which is a struct _reent* ptr that is provided by any process using the dll. So , probably the exact question is : how to say to ld: this symbol must not be search in libc, (libccrto.o, libcmain.o) but must be mapped to a symbol defined in the calling process? Any idea? Thanks, stf - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request@cygnus.com" with one line of text: "help".