On Thu, 14 Jul 2011 20:15 +0200, "luca paganotti" <[email protected]> wrote: > On Thu, Jul 14, 2011 at 7:02 PM, Hans-Christoph Steiner > <[email protected]>wrote: > > > > > On Thu, 14 Jul 2011 12:44 -0400, "Mathieu Bouchard" <[email protected]> > > wrote: > > > On Thu, 14 Jul 2011, luca paganotti wrote: > > > > > > > but ... I get 'undefined reference' (s) for all the pd symbols that are > > > > used by helloworld.c i.e. pd_new, gensym, class_new, class_addbang, > > post > > > > > > You need to use the -shared option to produce a .so or .DLL file. > > > > > > In addition, you need to link with PD.DLL (a Windows-only requirement... > > > no such equivalent on other platforms). > > > > Hey Luca, > > > > This is great, that you got this far! Can you write up a wiki page in > > the dev section. Don't worry too much about formatting, mostly just get > > the info in there. > > http://puredata.info/docs/developer > > > > I think it's a very trivial thing for a wiki page, I mean is not such a > great thing .... > > > > > > As for Makefiles, if you use the the Library Template, then the Makefile > > will work on MinGW, Cygwin, Mac OS X, GNU/Linux, Android, iOS, etc. > > http://puredata.info/docs/developer/LibraryTemplate > > > > .hc > > > > ok, got the template from svn, > > use it as it is trying to build a 'mycobject' as defined by the code ... > > getting these results in eclipse console: > > **** Build of configuration Default for project mycobject **** > > make all > Building target: mycobject > Invoking: MinGW C++ Linker > g++ -L"C:\Programmi\pd\bin" -o"mycobject" ./mycobject.o > -l"C:/Programmi/pd/bin/pd.lib" > c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: > cannot > find -lC:/Programmi/pd/bin/pd.lib > collect2: ld returned 1 exit status > make: *** [mycobject] Error 1 > > what I really do not understand is that I have my pd.lib file exactly in > the > folder were ld on bhalf eclipse searches for it, i.e. > C:\Programmi\pd\bin\pd.lib > > Anyway I then tryed the hard way from the mingw console issueing a 'make > all' getting finally a usefull error message: > > Pag@XP-PAG /c/dev/c++/pd-externals/mycobject > $ make clean > sed: can't read mycobject-meta.pd: No such file or directory > sed: can't read mycobject-meta.pd: No such file or directory > sed: can't read mycobject-meta.pd: No such file or directory > sed: can't read mycobject-meta.pd: No such file or directory > sed: can't read mycobject-meta.pd: No such file or directory > rm -f -- mycobject.o > rm -f -- mycobject.dll > rm -f -- mycobject.o > rm -f -- mycobject.dll > > Pag@XP-PAG /c/dev/c++/pd-externals/mycobject > $ make all > sed: can't read mycobject-meta.pd: No such file or directory > sed: can't read mycobject-meta.pd: No such file or directory > sed: can't read mycobject-meta.pd: No such file or directory > sed: can't read mycobject-meta.pd: No such file or directory > sed: can't read mycobject-meta.pd: No such file or directory > sed: can't read mycobject-meta.pd: No such file or directory > cc -I"/c/Programmi/pd/include/pd" -Wall -W -g -DPD -DVERSION='""' > -mms-bitfields > -O3 -funroll-loops -fomit-frame-pointer -o "mycobject.o" -c > "mycobject.c" > /bin/sh: cc: command not found > make: *** [mycobject.o] Error 127 > > perhaps does it means that the compiler command is not defined in the > makefile? > > I added this line > > CC = gcc > > between the OS = windows and PD_PATH = $(shell cd "$(PROGRAMFILES)"/pd && > pwd) lines > > inside the ifeq (MINGW,$(findstring MINGW,$(UNAME))) ... endif block > > and then got: > > Pag@XP-PAG /c/dev/c++/pd-externals/mycobject > $ make all > sed: can't read mycobject-meta.pd: No such file or directory > sed: can't read mycobject-meta.pd: No such file or directory > sed: can't read mycobject-meta.pd: No such file or directory > sed: can't read mycobject-meta.pd: No such file or directory > sed: can't read mycobject-meta.pd: No such file or directory > sed: can't read mycobject-meta.pd: No such file or directory > gcc -I"/c/Programmi/pd/include/pd" -Wall -W -g -DPD -DVERSION='""' > -mms-bitfield > s -O3 -funroll-loops -fomit-frame-pointer -o "mycobject.o" -c > "mycobject.c" > gcc -s -shared -Wl,--enable-auto-import -o "mycobject.dll" "mycobject.o" > -L"/ > c/Programmi/pd/src/" -L"/c/Programmi/pd/bin/" -lpd -lwsock32 -lkernel32 > -luser32 > -lgdi32 > chmod a-x "mycobject.dll" > > Pag@XP-PAG /c/dev/c++/pd-externals/mycobject > $ > > I got the mycobject dll that runs fine under pd-extended on a windows > box. > > Still wondering why eclise doen't find my pd.lib > > At least this is working now from the command line.
I finally added some "getting started" instructions, hopefully this is useful: https://puredata.info/docs/developer/LibraryTemplate .hc _______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
