[PD] readanysf for windows? (again)

august august at alien.mur.at
Thu Apr 28 19:11:25 CEST 2011


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

-------------- next part --------------
GAVLPREFIX=/usr/local
PD_INCLUDES=/usr/local/include
GMERLIN_LIBS= -lgmerlin_avdec -lgavl.dll -lpng -lz -lintl -liconv -lws2_32 -lflac -lwsock32 -lregex -ldl \
				-logg -lvorbis -lvorbisenc -la52 -ldca -lspeex -ltiff -ltheora -lfaad


# SHOULDN'T REALLY NEED TO EDIT BELOW HERE

VERSION=0.43

PD_PATH = $(shell cd "$(PROGRAMFILES)"/pd && pwd)
GAVLPATH=$(GAVLPREFIX)/include

STRIP=strip --strip-unneeded  -R .note -R .comment

LDFLAGS =  -s -shared -Wl,--enable-auto-import
LDFLAGS +=  -L$(GAVLPREFIX)/lib -L"$(PD_PATH)/src" -L"$(PD_PATH)/bin" -L"$(PD_PATH)/obj"
LDFLAGS += -lpd -lwsock32 -lkernel32 -luser32 -lgdi32 -lpthreadGC2 $(GMERLIN_LIBS)


CFLAGS =  -I./  -I$(GAVLPATH) -I$(GAVLPATH)/gavl -I$(GAVLPATH)/gmerlin -I$(PD_INCLUDES) \
	-Wall -Wno-unused -Wunused-variable -Wno-trigraphs -g -I. -mms-bitfields -DNT -DPD -fPIC  


all: pd_win 

pd_win: src/readanysf~.cpp  objs/FifoVideoFrames.o objs/FifoAudioFrames.o objs/ReadMedia.o
	g++   -o  readanysf~.dll \
	src/readanysf~.cpp \
	objs/FifoAudioFrames.o \
	objs/FifoVideoFrames.o \
	objs/ReadMedia.o $(CFLAGS) $(LDFLAGS) 
	$(STRIP) readanysf~.dll

objs/ReadMedia.o: src/ReadMedia.cpp src/ReadMedia.h objs/FifoAudioFrames.o objs/FifoVideoFrames.o
	g++  -c -o objs/ReadMedia.o src/ReadMedia.cpp $(CFLAGS)

objs/FifoAudioFrames.o: src/FifoAudioFrames.cpp src/FifoAudioFrames.h 
	g++  -c -o objs/FifoAudioFrames.o src/FifoAudioFrames.cpp $(CFLAGS)

objs/FifoVideoFrames.o: src/FifoVideoFrames.cpp src/FifoVideoFrames.h 
	g++  -c -o objs/FifoVideoFrames.o src/FifoVideoFrames.cpp $(CFLAGS)

clean:
	if [ -d readanysf~$(VERSION)_MacOSX-Intel ]; then rm -rf readanysf~$(VERSION)_MacOSX-Intel; fi; 
	if [ -f readanysf~$(VERSION)_MacOSX-Intel.tar.gz ]; then rm -rf readanysf~$(VERSION)_MacOSX-Intel.tar.gz; fi; 
	rm


More information about the Pd-list mailing list