Rcpp::compileAttributes() 不更新 .R 文件

Aid*_*nny 2 r package rcpp

我正在尝试在 R 中构建一个涉及该Rcpp包的包。当我使用命令生成包时Rcpp.package.skeleton("pck338")。

默认情况下,文件rcpp_hello_world.cpp被包含在内,RcppExports.cpp文件也被包含在内。

据我了解,每次向目录中添加新函数时都compileAttributes()需要运行该函数。.cppsrc

为此,我在rcpp_dance.cpp文件中编写了一个简单的函数,如下所示:

# include <Rcpp.h>
using namespace Rcpp;

// [[Rcpp:export]]
int rcpp_dance(int x) {
  int val = x + 5;
  return val;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行 时compileAttributes(),RcppExports.cpp保持不变,因此舞蹈函数不会转换为 R 函数。为什么会这样?任何具体和一般的反馈将不胜感激。

Dir*_*tel 5

在这种闻起来像是可能的错误的情况下,请检查可能的错误。我学会了(艰难的方式)首先假设我搞砸了......

在您的情况下:::!= :。

你想要Rcpp::export两个冒号。尝试,冲洗,重复...

(对于另一个猜想:compileAttributes()每次接口更改时都需要重新运行:在签名中添加或删除或重命名或重新键入参数,当然还有添加或删除整个函数。但幸运的是,该函数是如此之快,以至于您还不如养成经常运行的习惯。如果有疑问,就运行它。)

  • 不客气。正如我所说:_去过那里,做过那件事_。计算机可能会像我们告诉它们的那样具有令人烦恼的确定性,而不是像我们想说的那样。 (3认同)