[PD] running extras compiled w/ cygwin

ix xi at dopecheck.com
Wed Sep 17 01:48:10 CEST 2003


trying to run shell~ via cygwin - compiled shell.c using the included makefile. but running pd -verbose -lib shell says 'can't load library'. pd was launched from within a cygwin term rather than the normal windows cmd screen, and otherwise ran normally..

wondering if theres a trick to the linker flags or something to make dll's that pd will accept? tried -mno-cygwin too, and copying cygwin1.dll into the bin dir. the linker seemed to have no problems finding the symbols in the msvc-created pd.lib after renaming it cygpd.dll...im wondering if it would make a difference if pd was compiled entirely in gcc or not. also saw stuff about manually specifying dll entry points, etc but thats over my head. maybe this problem isnt so complex.

heres the makefile if anyone wants to take a stab:

all: link.stamp shell.c=shell.dll
.SUFFIXES: .dll
CYGCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \
    -Wall -W -Wshadow -Wstrict-prototypes -mno-cygwin\
    -Wno-unused -Wno-parentheses -Wno-switch
CYGINCLUDE = -I. -I.. -I../include -I/usr/include -I/d/install/pd/src
%.dll: ../src/shell.c
	$(CC) $(CYGCFLAGS) $(CYGINCLUDE) -o "shell.o" -c "../src/shell.c"
	ld -shared -o "shell.dll" "shell.o" -L/d/install/pd/bin -lc -lm -lpd \
	`test -f $*.libs && cat $*.libs`
	chmod a-x "shell.dll"
#	strip --strip-unneeded $*.dll
	rm -f "shell.o" 
link: link.stamp
link.stamp:
	cp ../src/shell.c .
	touch link.stamp
	make





More information about the Pd-list mailing list