Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com From: "Sander Timmermans" To: Subject: RE: GetModuleHandle AT 4 Date: Fri, 26 Apr 2002 09:19:05 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700 In-Reply-To: Importance: Normal 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 :( Sander > -----Original Message----- > From: cygwin-owner AT cygwin DOT com [mailto:cygwin-owner AT cygwin DOT com]On Behalf > Of Sander Timmermans > Sent: 24 April 2002 19:14 > To: cygwin AT cygwin DOT com > Subject: GetModuleHandle AT 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 AT 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 AT 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 AT 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 AT 12 > #----------------------------------------------------------------- > ---------- > ------------------------------------------------ > $(LIBIDL) is a win32 library. > but after this $(LD) line I get GetModuleHandle AT 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... > > Sander > > > > -- > 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/