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

时间:2013-04-28 03:29:15

标签: c++ r rcpp

我正在使用Rstudio创建一个包,并探索使用Rcpp包来获取对C ++代码的访问权限,但是,在尝试构建包时,错误被抛出如下:

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

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

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

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

4 个答案:

答案 0 :(得分:18)

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

LinkingTo: Rcpp
在<描述文件中

答案 1 :(得分:7)

您是否偶然开始在RStudio中使用'创建包'?如果是这样,你是否意识到你可能错过了它的sibbling选项'创建一个包含Rcpp'的包?

有关详细信息,请参阅Using Rcpp with RStudio网站上的页面,特别是有关打包的最后一节。

另请注意,我们写了整个小插图on using Rcpp with your own packages,所以我建议您也看一下。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

这是因为您的GCC已经更新,并且与您安装R时的GCC不同。我遇到了同样的问题。

我删除了包裹&#34; Rccp&#34;使用:

remove.packages("Rcpp")

然后你需要再次安装它。跑吧:

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