This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
RE: GetModuleHandle@4
- From: "***" <***>
- To: <cygwin at cygwin dot com>
- Date: Fri, 26 Apr 2002 09:19:05 +0200
- Subject: RE: GetModuleHandle@4
I obviously need Reimp or Pexports created by Anders Norlander to generate a
neat and correct .def file.
But, the page where everybody links to:
http://www.acc.umu.se/~anorland/
is dead.
Where can I get these programs :(
***
> -----Original Message-----
> From: cygwin-owner@cygwin.com [mailto:cygwin-owner@cygwin.com]On Behalf
> Of ***
> Sent: 24 April 2002 19:14
> To: cygwin@cygwin.com
> Subject: GetModuleHandle@4
>
>
> I adapted the script made by John Cerney;
> http://cygwin.com/building-reloc-dlls.txt
> into this Makefile:
> #-----------------------------------------------------------------
> ----------
> ------------------------------------------------
> LIBPATH= /lib
> SOURCES= foo.c foo2.c
> OBJECTS= $(SOURCES:%.c=%.o)
>
> all: $(OBJECTS) init.o fixup.o
> echo EXPORTS > fooB.def
> nm $? | grep '^........ [T] _' | sed 's/[^_]*_//' >> fooB.def
> ld --base-file fooB.base --dll -o fooB.dll $?
> $(LIBPATH)/libcygwin.a -e
> _dll_entry@12
> dlltool --as=as --dllname fooB.dll --def fooB.def --base-file
> fooB.base --output-exp fooB.exp
> ld --base-file fooB.base fooB.exp --dll -o fooB.dll foo.o
> foo2.o init.o
> fixup.o $(LIBPATH)/libcygwin.a -e _dll_entry@12
> dlltool --as=as --dllname fooB.dll --def fooB.def --base-file
> fooB.base --output-exp fooB.exp
> ld fooB.exp --dll -o fooB.dll foo.o foo2.o init.o fixup.o
> $(LIBPATH)/libcygwin.a -e _dll_entry@12
> dlltool --as=as --dllname fooB.dll --def fooB.def
> --output-lib fooB.a
> gcc main.c fooB.a -o main.exe
> #-----------------------------------------------------------------
> ----------
> ------------------------------------------------
> It worked.
> Aferwards I tried to use it in my own Makefile:
> #-----------------------------------------------------------------
> ----------
> ------------------------------------------------
> SOURCES= TWU_read_signal_interlaced.c idl_TWU_read_signal_interlaced.c
> idl_TWU_read_signal.c idl_TWU_read_image.c \
> idl_TWU_read_condition.c idl_TWU_read_comment.c
> OBJECTS= $(SOURCES:%.c=%.o)
> exp: $(OBJECTS) init.o fixup.o $(TWU_ARCHIVE) $(LIBIDL) /lib/libcygwin.a
> echo EXPORTS > $(NAME).def
> nm $? | grep '^........ [T] _' | sed 's/[^_]*_//' >> $(NAME).def
> $(LD) --base-file $(NAME).base --dll -o $(NAME).dll $? -e
> _dll_entry@12
> #-----------------------------------------------------------------
> ----------
> ------------------------------------------------
> $(LIBIDL) is a win32 library.
> but after this $(LD) line I get GetModuleHandle@4 as a linker error
> (unreferenced symbol) in /libcygwin.a.
> Should I use MinGW? Or am I doing something completely revolting
> by linking
> against a win32 library...
>
> ***
>
>
>
> --
> Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
> Bug reporting: http://cygwin.com/bugs.html
> Documentation: http://cygwin.com/docs.html
> FAQ: http://cygwin.com/faq/
>
>
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/