使用RStudio在R包中编译Rcpp代码时出错



我正在使用Rstudio创建一个包,并探索使用Rcpp包来访问c++代码,然而,当试图构建包时,错误被抛出如下:

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

内联c++代码编译得很好,只有在考虑src文件夹中的独立c++文件时,显然是指.cpp文件头部的#include <Rcpp.h>指令。

我认为这可能与环境变量有关,有人知道正确的配置是什么以及如何修复Rstudio在Ubuntu 12.04 LTS环境中运行吗?

命令sourceCpp('./src/xyz.cpp')按预期执行,当在RStudio IDE内执行Build and Reload时抛出错误。

如果没有可用的包,很难说。我想你错过了:

LinkingTo: Rcpp

在你的描述文件。

您是否碰巧在RStudio中以'Create a package'开头?如果是这样,您是否意识到您可能错过了它的同胞选项"创建一个使用/Rcpp的包" ?

参见Using Rcpp with RStudio网站的详细信息,特别是关于包构建的最后一节。

还请注意,我们写了一篇关于在您自己的包中使用Rcpp的完整小短文,所以我建议您也看看。

我在试图在Ubuntu 14系统上安装"xml2"包时遇到了同样的症状(Rcpp.h: No such file or directory)。在我的情况下,根本原因似乎是一个错误的安装包"Rcpp"。有些文件在那里(Rcpp/libs),但其他文件不在那里(Rcpp/include)。我不确定系统是如何进入这种状态的,但我怀疑该软件包的安装中途终止了。重新安装"Rcpp"包为我解决了这个问题

这是因为您的GCC已经更新,并且它与您安装r时的GCC不同。我有同样的问题。

我删除了包"Rccp"使用:

remove.packages("Rcpp")

那么你需要重新安装它。运行:

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

最新更新