Hi lists,
Perhaps this is a little ot, but I try to compile some externals from linux (ubuntu edgy) to windows. I've installed the mingw32 packages and edited my makefile to replace the "cc" and "ld" commands by the "i586-mingw32msvc-" ,"cc" and "ld" ones when I choose pd_nt as a target. I also add the "-L/usr/lib/" option to the "i586-mingw32msvc-ld". Here is the concerned part of the makefile :
------------- pd_nt: downquantize~.dll
.SUFFIXES: .dll
PDNTCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \ -Wall -W -Wshadow -Wstrict-prototypes -Werror \ -Wno-unused -Wno-parentheses -Wno-switch
PDNTINCLUDE = -I/home/montgermont/pd/pd-0.40-0test05/src -I/usr/include/stk
.c.dll: i586-mingw32msvc-cc $(PDNTCFLAGS) $(PDNTINCLUDE) -o $*.o -c $*.c i586-mingw32msvc-ld -export_dynamic -L/usr/lib/ -shared -o $*.dll $*.o -lc -lm -lstk strip --strip-unneeded $*.dll rm $*.o -------------------------
and here is the terminal error: ------------------------- montgermont@carcassi:~/pd/downquantize$ make pd_nt i586-mingw32msvc-cc -DPD -O2 -funroll-loops -fomit-frame-pointer -Wall -W -Wshadow -Wstrict-prototypes -Werror -Wno-unused -Wno-parentheses -Wno-switch -I/home/montgermont/pd/pd-0.40-0test05/src -I/usr/include/stk -o downquantize~.o -c downquantize~.c i586-mingw32msvc-ld -export_dynamic -L/usr/lib/ -shared -o downquantize~.dll downquantize~.o -lc -lm -lstk downquantize~.o:downquantize~.c:(.text+0x284): référence indéfinie vers « dsp_add » downquantize~.o:downquantize~.c:(.text+0x29b): référence indéfinie vers « pd_new » downquantize~.o:downquantize~.c:(.text+0x2b1): référence indéfinie vers « floatinlet_new » downquantize~.o:downquantize~.c:(.text+0x2b8): référence indéfinie vers « s_signal » downquantize~.o:downquantize~.c:(.text+0x2be): référence indéfinie vers « outlet_new » downquantize~.o:downquantize~.c:(.text+0x2e8): référence indéfinie vers « gensym » downquantize~.o:downquantize~.c:(.text+0x2f0): référence indéfinie vers « class_new » downquantize~.o:downquantize~.c:(.text+0x306): référence indéfinie vers « gensym » downquantize~.o:downquantize~.c:(.text+0x31b): référence indéfinie vers « class_addmethod » downquantize~.o:downquantize~.c:(.text+0x32a): référence indéfinie vers « class_domainsignalin » make: *** [downquantize~.dll] Erreur 1 --------------------------
It seems mingw32msvc can't find any pd function... but the linux to linux part works well (see attached) Do someone understand where is the error? Or better, already have a makefile to cross compile? Sorry if it's stupid, I'm not really used to makefiles...
Greetings,
Nicolas Montgermont wrote:
It seems mingw32msvc can't find any pd function... but the linux to linux part works well (see attached) Do someone understand where is the error? Or better, already have a makefile to cross compile? Sorry if it's stupid, I'm not really used to makefiles...
you have to link against pd.lib.
have a look at iemmatrix, there is a description how to cross-compile it with mingw.
mfgas.dr IOhannes