[Rcpp-devel] Question regarding integrating preexisting C++ code via Rcpp

Simon Fuller simonfuller9 at gmail.com
Mon Oct 10 12:09:11 CEST 2011


Hello,

I have just joined the mailing list.

I was hoping you might be able to help me with a question.

I am new to Rcpp, have some experience with both R and C++, but very little
experience with integrating languages.

I hope to use Rcpp to develop code over the next few years. However, to
begin with, I have some preexisting C++ classes that I would like to make
available to R.

I have read the documentation that I can find, but I do not know which is
the best approach to take.

I only, in principle, need *one method* to interact with the classes - there
then follows a fairly arduous process using different tree structures each
of which have aggregate classes, but only a single double needs to be
returned to R.

I was therefore hoping to simply call a C++ wrapper function in-line,
remotely, which in turn called my classes, but that does not work. I get an:
"expected unqualified-id before ‘extern’ " error after my includes, at:
RcppExport SEXP..  at the start of my method declaration. (I can post code
if this approach is not a complete dead end)

So my two questions are: is there a quick way of prototyping this? i.e. to
get R to invoke my classes through an rcpp intermediary.

If there is not a quick way to do this, what is the best approach? Do I need
to, and if so how do I, make my classes accessible to Rcpp. Because my whole
hope here is to use preexisting code as swiftly as possible, 'easiest' and
'quickest' are almost synonyms for 'best' in my question.

If someone could point me in the direction of some example code where Rcpp
invokes user classes this would be great.

My apologies if my question has been covered before, but I would really
appreciate some advice on what is and is not possible, and some strategic
advice on the best (easiest and quickest) approach.

Thank you for your help. It is deeply appreciated.

Simon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20111010/a86f88cf/attachment.htm>


More information about the Rcpp-devel mailing list