Hello Davor, Yes, I think - I have: #ifndef HEADERNAME_IN_CAPS #define HEADERNAME_IN_CAPS 1 (..code..) #endif for all my headers.
As far as I can tell the problem arises when fstream includes codecvt.h, which calls, on line 42: _GLIBCXX_BEGIN_NAMESPACE(std) I don't think this pertains to my own header includes, but I could very well be wrong. Thanks, Simon On Tue, Oct 11, 2011 at 5:27 AM, Davor Cubranic <cubra...@stat.ubc.ca>wrote: > Hi Simon, > > Are you wrapping your header file with an #ifndef to prevent it from being > included multiple times? > > Davor > > > On October 10, 2011 03:01:33 PM Simon Fuller wrote: > > Hello, > > > > I am getting some problems further down the line. It seems to happen when > I > > am including a std header in my own class, and when it itself includes a > > header. Which suggests the problem is not with including headers in > > general. > > > > When it is reading my header, it gets this error in fstream: > > > > In file included from /usr/include/c++/4.5/fstream:42:0, > > from > > /home/simon/College/PackageOne/src/MyClass/MyClass.h:6, > > from file8ffc305.cpp:37: > > /usr/include/c++/4.5/bits/codecvt.h: In function ‘SEXPREC* > > file8ffc305(SEXPREC*, SEXPREC*)’: > > /usr/include/c++/4.5/bits/codecvt.h:42:1: error: expected ‘=’ before > > ‘__attribute__’ > > /usr/include/c++/4.5/bits/codecvt.h:42:1: error: expected identifier > before > > ‘__attribute__’ > > /usr/include/c++/4.5/bits/codecvt.h:42:1: error: expected ‘;’ before > > ‘__attribute__’ > > /usr/include/c++/4.5/bits/codecvt.h:42:1: error: expected > > primary-expression before ‘__attribute__’ > > /usr/include/c++/4.5/bits/codecvt.h:42:1: error: expected ‘;’ before > > ‘__attribute__’ > > > > In fstream, line 42 is indeed: #include <bits/codecvt.h> > > > > I checked /usr/include/c++/4.5/bits/codecvt.h:42:1: > > > > and this is line 42 of codecvt.h: > > > > _GLIBCXX_BEGIN_NAMESPACE(std) > > > > I googled this function, and I am wondering if it might be a > compatibility > > issue, as this sometimes seems to be cited in this regard in forums. I > > really do not know myself. Has anyone any suggestions? > > > > Thanks, > > > > Simon > > > > > > > > > > On Mon, Oct 10, 2011 at 11:09 AM, Simon Fuller > > <simonfull...@gmail.com>wrote:h > > > > > 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 >
_______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel