[PD] readanysf for windows? (again)

Hans-Christoph Steiner hans at at.or.at
Fri Apr 29 00:09:13 CEST 2011


Ah yes, its C++, so you need the 'extern "C"' stuff to expose the  
symbols to C.

.hc

On Apr 28, 2011, at 1:07 PM, Patrice Colet wrote:

> In a last attempt I've written
>
> extern "C" __declspec(dllexport) void readanysf_tilde_setup(void)
>
> and now pd can load the external
>
> I've attached the dll if someone (matteo?) wants to try
>
> I've tried an mp3 file it crashed but it could read audio from a mov  
> file
>
> ----- "Patrice Colet" <colet.patrice at free.fr> a écrit :
>
>> 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
>>
>> _______________________________________________
>> Pd-list at iem.at mailing list
>> UNSUBSCRIBE and account-management ->
>> http://lists.puredata.info/listinfo/pd-list
>
> -- 
> Patrice Colet
> <readanysf~.zip>



----------------------------------------------------------------------------

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





More information about the Pd-list mailing list