[PD] [Pd] Compile external with C++ compiler?

Charles Henry czhenry at gmail.com
Fri Apr 27 05:10:58 CEST 2012


Hi guys

The part that I don't get is how to call C functions from C++? I don't
think I've even tried that before.  Have you?
Joe: I've built externals that just call C++ functions that I declared
with extern "C" or wrote wrapper functions to export a C-callable
public interface to C++ functions.  Best suggestion I've got is to
identify which functions you've got are going to be public and which
ones are private and plan out how you're going to declare them.

Chuck

On 4/26/12, Ed Kelly <morph_2016 at yahoo.co.uk> wrote:
> Hi Joe,
>
> Have you thought of using ofxPd?
>
> I'm involved in the creation of an app for the iPhone right now, and we're
> using ofxPd from Dan Wilcox:
> https://github.com/danomatika/ofxPd
> Since Openframeworks is a bunch of C++ wrappers for various libraries, ofxPd
> adds Pd to the libraries that you can work with in C++.
> Then you can call the setup function within the xcode build, and your object
> will work in libpd (i.e. ofxPd) in the app environment.
> Bear in mind that Apple do not like GnuGPL licensed stuff, so I've created
> BSD licensed versions of some of my own Pd externals for this project.
>
>
> And the app works. We're in the final stages now, so I'll post to the list
> when it's complete!
> Best,
> Ed
>
>
> Gemnotes-0.1alpha: Live music notation for Pure Data
> http://sharktracks.co.uk/
>
>
> ________________________________
>  From: Joe White <white.joe4 at gmail.com>
> To: pd-list <pd-list at iem.at>
> Sent: Thursday, 26 April 2012, 16:51
> Subject: [PD] [Pd] Compile external with C++ compiler?
>
>
> Hi all,
>
> Thought I might as well ask this here because you guys know everything :)
>
> I'm writing an external to be built into an iOS app that's running Pd. The
> catch is I need to interface with a C++ library within the external.
>
> The external builds and runs fine if I'm using the C compiler (in Xcode) but
> I can't access the C++ library functions. If I switch it to compile in C++
> (by changing the objective-c file from .m to .mm) then I can use the C++
> library functions but it complains that it can't find 'class_addmethod'
>
>                           'No matching function for call to
> 'class_addmethod'
>
> I've tried declaring the setup function as C code like Katja explains on her
> site:
>                           extern "C" void external_tilde_setup(void) { }
> But that still didn't seem to work. I was also going through the list and
> found this thread but I'm not sure if it's the right approach. Plus I'm more
> of an audio guy than programmer :)
>
> Any ideas would be much appreciated.
>
> Thanks,
> Joe
> --
> Follow me on Twitter @diplojocus
>
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list



More information about the Pd-list mailing list