我正在尝试在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()
:在签名中添加或删除或重命名或重命名参数,当然还要添加或删除整个函数。但是值得庆幸的是,函数是如此快速,这样您就可以养成经常运行它的习惯。如有疑问,请运行它。)
关于r - Rcpp::compileAttributes()不更新.R文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59206101/