This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
DLL Problem
- To: <gnu-win32 at cygnus dot com>
- Subject: DLL Problem
- From: "Stephane Mariel" <stf at hugo dot int-evry dot fr>
- Date: Wed, 20 Aug 1997 14:19:29 +0200
[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".