HI all,
I'm trying to compile some of my externals for Windows, and I'm running into a strange error.
This code: void *nrciOut_new() // constructor { t_nrciOut *x = (t_nrciOut *)pd_new(nrciOut_class); outlet_new(&x->x_obj, &s_list); return (void *) x; }
Causes the linker to return an error: "undefined reference to 's_list'"
But if I change the &s_list to '0' it seems to work... It seems strange to me that the linker can find the rest of the PD libraries, but not the s_list struct. Has anyone run into anything similar?
Thanks much,
Greg Surges
Greg Surges wrote:
HI all,
I'm trying to compile some of my externals for Windows, and I'm running into a strange error.
This code: void *nrciOut_new() // constructor { t_nrciOut *x = (t_nrciOut *)pd_new(nrciOut_class); outlet_new(&x->x_obj, &s_list); return (void *) x; }
Causes the linker to return an error: "undefined reference to 's_list'"
Which linker are you using? It may relate to the interpretation of "EXTERN" which is defined in m_pd.h differently for MSW and gcc. Or you didn't link against pd.lib. Also, you probably want to save the value returned by outlet_new in case you want to actually use the outlet...
Martin
But if I change the &s_list to '0' it seems to work... It seems strange to me that the linker can find the rest of the PD libraries, but not the s_list struct. Has anyone run into anything similar?
Thanks much,
Greg Surges
-- http://www.uwm.edu/~gssurges/
PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev