首页 > 解决方案 > Rcpp::compileAttributes() 不更新 .R 文件

问题描述

我正在尝试在 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;
}

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

标签: rpackagercpp

解决方案


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

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

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

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


推荐阅读