r - Rcpp::compileAttributes() 不更新 .R 文件
问题描述
我正在尝试在 R 中构建一个涉及该包的Rcpp
包。当我使用命令生成包时Rcpp.package.skeleton("pck338")
。
默认情况下,包含文件rcpp_hello_world.cpp
,也包含RcppExports.cpp
文件。
据我了解,每次将新功能添加到目录时都compileAttributes()
需要运行该功能。.cpp
src
为此,我在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 函数。为什么会这样?任何具体和一般的反馈将不胜感激。
解决方案
在这种情况下,闻起来像是可能的错误,请检查可能的错误。我学会了(艰难的方式)首先假设我犯了...
在您的情况下:::
!= :
。
你想要Rcpp::export
两个冒号。尝试,冲洗,重复...
compileAttributes()
(对于另一个猜想:每次接口更改时,您都需要重新运行:在签名中添加或删除或重命名或重新键入参数,当然还有添加或删除整个函数。但幸运的是,该函数是如此之快,以至于您不妨养成经常运行它的习惯。如果有疑问,运行它。)