[PD] readanysf for windows? (again)

Patrice Colet colet.patrice at free.fr
Fri Apr 29 00:25:32 CEST 2011


 I've explored a bit the source files of pd-extended externals and didn't see a single one with .cpp extension
available on windows, the solution I've found is ugly

#ifdef NT
extern "C" __declspec(dllexport) void readanysf_tilde_setup(void) {
#else
extern "C" void readanysf_tilde_setup(void) {
#endif

----- "Hans-Christoph Steiner" <hans at at.or.at> a écrit :

> You only need __declspec(dllexport) for the Windows linker. MinGW  
> doesn't need it.  That template Makefile is used in many external  
> libraries included in Pd-extended, therefore it works for many many  
> objects  on Windows.
> 
> .hc
> 
> On Apr 28, 2011, at 12:45 PM, Patrice Colet wrote:
> 
> > I even tried to put manually:
> >
> > __declspec(dllexport) void readanysf_tilde_setup(void)
> >
> > but still same error pd can't read it, there is nothing else I can
> do,
> > someone with better knowledge of makefile should look at it.
> >
> >
> > attached is attempt to rewrite a makefile that compiles on mingw,  
> > and that would be easy to adapt for linux and osx,
> > it's inspired from gridflow/Makefile
> >
> > ----- "august" <august at alien.mur.at> a écrit :
> >
> >> I did notice that in externals/frankenstein/Makefile, it does this
> >> for
> >> Visual Studio:
> >>
> >> 	link /dll /export:$*_setup $*.obj common.obj $(PDNTLIB)
> >>
> >> Are extra linking directives necessary for mingw externals?
> >>
> >>
> >>
> >> As for C++ files and the template Makefile, you might be able to
> just
> >> set "CC=cpp" somewhere before it starts the compile
> >>
> >>
> >> Would be great to FINALLY get this thing going in windows.  :)
> >>
> >>
> >>> still doesn't recognize readanysf_tilde_setup even with
> >> -Wl,--enable-auto-import
> >>>
> >>> by defining -DMSW in CFLAGS the compiler should read this macro
> in
> >> m_pd.h:
> >>>
> >>> #define EXTERN __declspec(dllimport) extern
> >>>
> >>> but it doesn't
> >>>
> >>> is there a more explicit template makefile for cpp sources?
> >>>
> >>> the only working example that work I can get is from gridflow but
> >> it's so tricky,
> >>> sources are processed with ruby before being compiled by g++
> >>>
> >>> ----- "august" <august at alien.mur.at> a écrit :
> >>>
> >>>> Patrice,
> >>>>
> >>>> 	Here is a new Makefile that I made looking at the template
> base.
> >>
> >>>>
> >>>> 	I think this should take care of exporting the tilde_setup
> >> symbol.
> >>>>
> >>>>
> >>>> 	again, doing it blindly...so there may be errors.
> >>>>
> >>>> 	-august.
> >>>>
> >>>>
> >>>>
> >>>>> After resolving two dozens undefined references I finally have
> >>>> readanysf compiled.
> >>>>> Curiously gmerlin_avdec needs a prepended link of each used
> >>>> library.
> >>>>>
> >>>>> The link flags must be at the end, like in attached file.
> >>>>>
> >>>>> I had to copy missing dll's into pd/bin along with other libs
> >>>> provided py pd-extended and gridflow,
> >>>>>
> >>>>> libdca-0.dll libgavl-1.dll libiconv-2.dll libintl-8.dll
> >>>> libtheora-0.dll lib-tiff-3.dll
> >>>>>
> >>>>> it seems it's still not the good way to compile because pd
> >>>> complains:
> >>>>>
> >>>>>
> >>>>> load_object: Symbol "readanysf_tilde_setup" not found
> >>>>>
> >>>>>
> >>>>> ----- "august" <august at alien.mur.at> a écrit :
> >>>>>
> >>>>>> Yeah perhaps it will be easier with the pd-extended makefiles.
> >> I
> >>>>>> really
> >>>>>> have no idea how windows handles linking and I also don't
> >> have
> >>>>>> experience with pd-extended builds.
> >>>>>>
> >>>>>>
> >>>>>> One problem you might have with my makefile that I didn't see
> >>>> before
> >>>>>> is
> >>>>>> that I test to see if the system is linux.  If so, I set
> >>>> appropriate
> >>>>>> flags.  If not, I assume you have a mac and set other flags.
> >>>>>>
> >>>>>>
> >>>>>> I've attached a Makefile.win that might work for you.  I made
> >> it
> >>>>>> blindly
> >>>>>> since I don't have a windows setup.
> >>>>>>
> >>>>>> You should only need to edit these two lines:
> >>>>>> 	GAVLPREFIX=/usr/local
> >>>>>> 	PD_INCLUDES=/usr/include
> >>>>>>
> >>>>>> Maybe something else is needed, but I can't say.  It should
> >> be
> >>>> simple
> >>>>>> enough to build from.
> >>>>>>
> >>>>>> best -august.
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>> I've tried to hack the makefile but have pain to get it
> >>>> compiling
> >>>>>> the dll because of linking problems...
> >>>>>>> I guess it would be easier by using pd-extended externals
> >>>> Makefile
> >>>>>> for resolving differences between os
> >>>>>>>
> >>>>>>> ----- "august" <august at alien.mur.at> a écrit :
> >>>>>>>
> >>>>>>>> well, if you already have gavl and gmerlin-avdecoder, you
> >>>> should
> >>>>>> only
> >>>>>>>> need to download and compile readanysf~
> >>>>>>>>
> >>>>>>>> the Makefile is there already.  If I am not mistaken, you
> >>>> would
> >>>>>> only
> >>>>>>>> need to copy and modify the pd_linux target so that it
> >> creates
> >>>> a
> >>>>>>>> readanysf~.dll instead of a readanysf~.pd_linux
> >>>>>>>>
> >>>>>>>> ...and then package it in a bundle so that it is usable
> >> for
> >>>>>> windows
> >>>>>>>> users.  ...that will be the hard part I imagine.
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> Hello, I've applied this patch then gmerlin-avdecoder
> >>>> compiles
> >>>>>> fine
> >>>>>>>> on mingw
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>
> >>>>
> >>
> http://www.mail-archive.com/gmerlin-general@lists.sourceforge.net/msg00322.html
> >>>>>>>>>
> >>>>>>>>> now we need the makefile ;)
> >>>>>>>>>
> >>>>>>>>> ----- "Hans-Christoph Steiner" <hans at at.or.at> a écrit
> >> :
> >>>>>>>>>
> >>>>>>>>>> We just need someone to get all of the required
> >> libraries
> >>>>>> building
> >>>>>>>> on
> >>>>>>>>>> Windows/MinGW.  gmerlin-avdecoder is required, then
> >> the
> >>>> more
> >>>>>>>> codec
> >>>>>>>>>> libs,
> >>>>>>>>>> the better, but it'll work without any of them, it
> >> just
> >>>> won't
> >>>>>> open
> >>>>>>>> as
> >>>>>>>>>> many files.  Once we have that, making a Windows build
> >> of
> >>>>>>>>>> [readanysf~]
> >>>>>>>>>> will be easy.
> >>>>>>>>>>
> >>>>>>>>>> .hc
> >>>>>>>>>>
> >>>>>>>>>> On Wed, 27 Apr 2011 13:56 +0200, "matteo sisti sette"
> >>>>>>>>>> <matteosistisette at gmail.com> wrote:
> >>>>>>>>>>> Hi,
> >>>>>>>>>>>
> >>>>>>>>>>> Is there anything similar to readanysf~ available
> >> for
> >>>>>> Windows?
> >>>>>>>> I
> >>>>>>>>>> would
> >>>>>>>>>>> like to be able to read the audio from mov video
> >> files.
> >>>>>>>>>>>
> >>>>>>>>>>> I've found some very old threads about failed
> >> attempts
> >>>> to
> >>>>>> port
> >>>>>>>>>>> readanysf~ to windows.
> >>>>>>>>>>> Has there been any success since then? Anybody that
> >> has
> >>>>>> been
> >>>>>>>> able
> >>>>>>>>>> to
> >>>>>>>>>>> compile it for windows and could share the compiled
> >>>> binary?
> >>>>>>>>>>>
> >>>>>>>>>>> Or any similar external?
> >>>>>>>>>>>
> >>>>>>>>>>> thanks
> >>>>>>>>>>> m.
> >>>>>>>>>>>
> >>>>>>>>>>> -- 
> >>>>>>>>>>> Matteo Sisti Sette
> >>>>>>>>>>> matteosistisette at gmail.com
> >>>>>>>>>>> http://www.matteosistisette.com
> >>>>>>>>>>>
> >>>>>>>>>>> _______________________________________________
> >>>>>>>>>>> Pd-list at iem.at mailing list
> >>>>>>>>>>> UNSUBSCRIBE and account-management ->
> >>>>>>>>>>> http://lists.puredata.info/listinfo/pd-list
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> _______________________________________________
> >>>>>>>>>> Pd-list at iem.at mailing list
> >>>>>>>>>> UNSUBSCRIBE and account-management ->
> >>>>>>>>>> http://lists.puredata.info/listinfo/pd-list
> >>>>>>>>>
> >>>>>>>>> -- 
> >>>>>>>>> Patrice Colet
> >>>>>>>>>
> >>>>>>>>> _______________________________________________
> >>>>>>>>> Pd-list at iem.at mailing list
> >>>>>>>>> UNSUBSCRIBE and account-management ->
> >>>>>>>> http://lists.puredata.info/listinfo/pd-list
> >>>>>>>>
> >>>>>>>> -- 
> >>>>>>>> 	-------------------
> >>>>>>>> 	http://aug.ment.org
> >>>>>>>
> >>>>>>> -- 
> >>>>>>> Patrice Colet
> >>>>>>>
> >>>>>>> _______________________________________________
> >>>>>>> Pd-list at iem.at mailing list
> >>>>>>> UNSUBSCRIBE and account-management ->
> >>>>>> http://lists.puredata.info/listinfo/pd-list
> >>>>>>
> >>>>>> -- 
> >>>>>> 	-------------------
> >>>>>> 	http://aug.ment.org
> >>>>>
> >>>>> -- 
> >>>>> Patrice Colet
> >>>>
> >>>>
> >>>>> _______________________________________________
> >>>>> Pd-list at iem.at mailing list
> >>>>> UNSUBSCRIBE and account-management ->
> >>>> http://lists.puredata.info/listinfo/pd-list
> >>>>
> >>>>
> >>>> -- 
> >>>> 	-------------------
> >>>> 	http://aug.ment.org
> >>>
> >>> -- 
> >>> Patrice Colet
> >>
> >> -- 
> >> 	-------------------
> >> 	http://aug.ment.org
> >
> > -- 
> > Patrice Colet
> > <Makefile.win>
> 
> 
> 
> ----------------------------------------------------------------------------
> 
> Looking at things from a more basic level, you can come up with a more
>  
> direct solution... It may sound small in theory, but it in practice, 
> 
> it can change entire economies.     - Amy Smith

-- 
Patrice Colet 



More information about the Pd-list mailing list