Nicholas Hamilton
Nicholas Hamilton

Reputation: 10506

Error when compiling Rcpp code in an R package using RStudio

I am using Rstudio to create a package, and exploring the use of the Rcpp package to gain access to C++ code, however, when trying to build the package, and error is being thrown as follows:

fatal error: Rcpp.h: No such file or directory

Inline C++ code compiles fine, its only when considering standalone C++ files in the src folder, obviously referring to the #include <Rcpp.h> directive at the head of the .cpp file.

I think it may have something to do with environment variables, does anyone know what the correct configuration is and how to fix for Rstudio operating in an Ubuntu 12.04 LTS environment?

The commands sourceCpp('./src/xyz.cpp') execute as to be expected, the error is being thrown when Build and Reload is executed from within the RStudio IDE.

Upvotes: 16

Views: 9966

Answers (4)

mpourreza
mpourreza

Reputation: 177

This is because your GCC has been updated, and it is different than the one you had when you installed R. I had the same problem.

I removed the package "Rccp" by using:

remove.packages("Rcpp")

Then you need to install it again. Just run:

source("https://bioconductor.org/biocLite.R")
biocLite("Rcpp")

Upvotes: 1

gcbenison
gcbenison

Reputation: 11963

I encountered this same symptom (Rcpp.h: No such file or directory) when trying to install the "xml2" package on an Ubuntu 14 system. In my case the root cause appeared to be a bad installation of package "Rcpp". Some of the files were there (Rcpp/libs) but others were not (Rcpp/include). I am not sure how the system got into this state but I suspect an installation of that package terminated part way through. Re-installing package "Rcpp" cleared up the issue for me.

Upvotes: 1

Dirk is no longer here
Dirk is no longer here

Reputation: 368231

Did you by chance start with 'Create a package' in RStudio? If so, are you aware that you may have missed its sibbling option 'Create a package w/ Rcpp' ?

See the page on Using Rcpp with RStudio site for details, and particularly the final section on package building.

Also note that we wrote an entire vignette on using Rcpp with your own packages so I suggest you have a look at that too.

Upvotes: 8

Romain Francois
Romain Francois

Reputation: 17642

It is hard to say without having the package available. I guess you miss:

LinkingTo: Rcpp

in your DESCRIPTION file.

Upvotes: 27

Related Questions