Error when compiling Rcpp code in an R package using RStudio

爷,独闯天下 提交于 2019-12-01 14:02:54

问题


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.


回答1:


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

LinkingTo: Rcpp

in your DESCRIPTION file.




回答2:


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.




回答3:


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.




回答4:


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")


来源:https://stackoverflow.com/questions/16259299/error-when-compiling-rcpp-code-in-an-r-package-using-rstudio

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!