[Rcpp-devel] Building/linking trouble with cxxfunction()
On 16 February 2011 at 16:20, Ken.Williams at thomsonreuters.com wrote:
| On 2/16/11 4:00 PM, "Dirk Eddelbuettel" <edd at debian.org> wrote:
| >Here is an updated version of the 'secondExample' from that aforementioned
| >example file in Rcpp. It uses the plugin generator facility to override
| >LIBS which makes it work on my box.
|
| Aha, I hadn't suspected that plugins would be the secret to using
| libraries.
No, as I tried to explain in great length. The minimal example should always
be
$ export PKG_CXXFLAGS="...some header location..."
$ export PKG_LIBS="...some libs..."
$ R CMD SHLIB foo.cpp
and inline / cxxfunction can be of help if you know these values.
| Thanks for the pointer, I'll give this a shot in addition to
| the code that Doug posted.
I also had look at RcppGSL and why I needed to muck with the generator. My
installation must have had a test version. Once I reinstalled RcppGSL from
either SVN or the released version, the normal behaviour worked ie
funx <- cxxfunction(signature(par="numeric"), gslrng,
plugin="RcppGSL",
includes = "#include <gsl/gsl_rng.h>")
for the example posted earlier. That is how it should work -- we employ
RcppGSL, we want an additional header which I list, and the rest 'just works'.
| Is the Rcpp:::Rcpp.plugin.maker() function documented anywhere?
Well theree is source, and there are package using it. There was a prior
discussion on the list here in December. But that is about it at this point.
Patches always welcome! Some user have in fact sent us documentation patches....
Dirk
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com