[PD] compiling example extern
Miller Puckette
mpuckett at man104-1.ucsd.edu
Tue Nov 6 17:45:49 CET 2001
Perhaps this is the problem... type "nmake pd_nt" to a command prompt.
I'm not sure how to do the "make" from withing the mammouth MSVC GUI...
cheers
Miller
On Tue, Nov 06, 2001 at 01:57:35AM -0500, Greg Rippin wrote:
> Hi everyone,
>
> Making progress on this. . . I see in the m_pd.h file how the #ifdef looks to see
> if it's being compiled in C++, and if so wraps it in "extern C{}". I'm still
> having linking errors, trying to build the "foo1" example (a bunch of unresolved
> external symbols, all of which are defined in m_pd.h. This occurs even if I
> wrap the foo1.c code. My attention is drawn to a later #ifdef, which
> conditionally redefines the external storage class "extern" if you are using NT;
> would the fact that I am using Win98 and not NT keep this #ifdef from being
> executed properly?
>
> One last thing. . . In the pd documentation on externs, it says "To compile, type
> "make pd_linux", "nmake pd_nt", "make pd_irix5" or "make pd_irix6"." What is
> this referring to (in other words, where do I type "make pd_nt")?
>
> Thanks again for all the help.
>
> Greg
>
> Karl MacMillan wrote:
>
> > On Saturday 03 November 2001 01:09 pm, Greg Rippin wrote:
> > > Hello everyone,
> > >
> > > I'm getting into creating pd externals on Win98 using visual C++ 6.0.
> > > I've started with the howto paper on the IEM site, and I'm having
> > > trouble building the first "hello world" example. I receive terror
> > > C2664: 'class_new' : cannot convert parameter 6 from 'const int' to
> > > 't_atomtype'. I believe this is referring to the "0" that terminates
> > > the list of object arguments.
> > >
> > > I suspect that I may have to change the code (originally for Linux, I
> > > think) a bit to compile correctly on windows. .. Can anyone suggest
> > > anywhere to start?
> > >
> >
> > I think this is a C++ issue, not a windows issue. If you can make VC++
> > compile this as plain C your problems should go away. Otherwise you are going
> > to have to place some explicit casts in the code and wrap your function
> > prototypes in "extern C { }" to make them use C linkage. For more information
> > about the latter you can look at the Gem externals or ask on the list. Unless
> > you are going to use C++ features, it is probably not worth the trouble,
> > though.
> >
> > Karl
> >
> > > Thanks,
> > > Greg
>
> --
> Greg Rippin, Graduate Assistant
> Music Technology Program
> New York University
> 35 West 4th Street, Suite 777
> New York, NY 10012
>
> phone 212-998-5422
> fax 212-995-4043
> musictechgrad.info at nyu.edu
> www.nyu.edu
>
>
>
More information about the Pd-list
mailing list