【问题标题】:Rcpp::compileAttributes() not updating .R fileRcpp::compileAttributes() 不更新 .R 文件
【发布时间】:2019-12-06 10:49:25
【问题描述】:

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

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

据我了解,compileAttributes() 函数需要每次src 目录中添加新的.cpp 函数时运行。

为此,我在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 保持不变,因此舞蹈函数不会转换为 R 函数。为什么会这样?我们将不胜感激任何具体和一般性的反馈。

【问题讨论】:

    标签: r package rcpp


    【解决方案1】:

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

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

    您希望Rcpp::export 带有两个冒号。尝试,冲洗,重复......

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

    【讨论】:

    • 叹息,是小错误惹到你了!谢谢!
    • 不客气。正如我所说:去过那里,做过。计算机可能会像我们告诉他们而不是我们想说的那样具有令人讨厌的确定性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-16
    • 2021-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多