Rpackage:Rstudio可能会生成错误的NAMESPACE文件

时间:2015-07-14 23:48:52

标签: r namespaces rcpp

我正在Rstudio中创建一个R包,我选择了Configure Build Tools > Configure选项并选择了Use roxygen to generate NAMESPACE。我在Rcpp中编写了我的函数,这是NAMESPACE在使用roxygen2生成它时的样子:

# Generated by roxygen2 (4.1.1): do not edit by hand

export(function1)
export(function2)
export(function3)
export(function4)

由于我的函数是用Rcpp编写的,然后我将其导出,然后它们将通过.Call在R中使用。但是,在writing R extensions中,我们应该在这种情况下使用useDynLib()。这就是为什么当我尝试调用function1并且错误是:

时,我认为我收到错误
Error in .Call("Mypackage_function1", PACKAGE = "Mypackage", var1,  : 
"Mypackage_function1" not available for .Call() for package "Mypackage"

当我在Rstudio中启动项目时使用默认的NAMESPACE时,我在NAMESPACE中有以下内容:

useDynLib(packagename)
exportPattern("^[[:alpha:]]+")
importFrom(Rcpp, evalCpp)

当我使用默认的NAMESPACE时,我可以使用.Call调用函数,但是当我检查包时我没有使用roxygen生成NAMESPACE时会收到警告。

有解决方法吗?任何建议表示赞赏。

0 个答案:

没有答案