[PD-dev] flext and gnu/windows - 'undefined reference' with pd global vars?

martin.peach at sympatico.ca martin.peach at sympatico.ca
Mon Apr 4 19:52:36 CEST 2011


> > On 04/05/2011 01:14 AM, Hans-Christoph Steiner wrote:
> >>
> >> 'undefined reference' generally means that the linker has found
> >> symbols
> >> in the .o files that it can't find a reference to. I.e. take the
> >> function 'foo', if myobject.o uses foo() from the bar lib, and the
> >> bar
> >> lib is not including the linking, because its not specified or not in
> >> the lib path, the you'll get an 'undefined reference'. Basically it
> >> means it can't find the code that matches a given symbol (i.e.
> >> function,
> >> variable, etc).
> >>
> >> .hc
> >
> > yes, i'm quite aware of what causes an 'undefined reference', but
> > the flext lib should already be linking to pd.dll with -lpd and the
> > locations -L check out..
> >
> > it only complains of a small handfull of the many symbols that flext
> > uses from pd (it is afterall a programming interface which uses pds
> > api extensively).
>
> the problem is caused only by the global data defined in the pd.dll
> (garray_class, s_float, etc.) not by function protoypes
>
> gr~~~

I keep running into that. I think you have to #define MSW so this bit of m_pd.h gets included:

#ifdef MSW
#ifdef PD_INTERNAL
#define EXTERN __declspec(dllexport) extern
#else
#define EXTERN __declspec(dllimport) extern
#endif /* PD_INTERNAL */
#else
#define EXTERN extern
#endif /* MSW */

Martin
 		 	   		  


More information about the Pd-dev mailing list