我使用Rstudio在同一个R包上的不同计算机上工作,但出于某种原因,每当我构建包时,一些计算机将通过添加下划线来修改RcppExports.R
和RcppExports.cpp
文件一些功能的前面。例如,在编译包之前和之后查看文件之间的差异时可以找到这个(第一行是之前,第二行是之后):
.Call('PkgName_FunctionName', PACKAGE = 'PkgName', arguments)
.Call('_PkgName_FunctionName', PACKAGE = 'PkgName', arguments)
这让我感到困扰,因为git认为这是一种变化。
我的问题是:
答案 0 :(得分:4)
确保两台计算机上都有相同(当前)版本的Rcpp。然后RcppExports.{R,cpp}
文件将是相同的。
这一变化是R上游(R 3.4.0左右)的要求,我们需要进行调整。
另请注意,您的registration=TRUE
文件中可能需要NAMESPACE
,在这种情况下,表单将成为
.Call(`_PkgName_FunctionName`, arguments)