我试图了解Rcpp
模块的工作原理。我尝试了Rcpp
vignette中的完整示例(第14页)。但是,我不知道fx_vec
的定义在哪里,因此我无法运行完整的示例。
然后,我尝试编译包是Rcpp
源代码(here)。我必须进行以下更改才能编译包
zzz.R
文件夹中的R
文件。stdVector.cpp
(//.method( "resize", &vec::resize
))我现在可以编译testRcppModule
包(原始源代码here),但是,我仍然无法在modules.R
中运行程序test
夹。作为参考,我可以找到我编译的包here(请注意,包名称与Rcpp
中的原始名称略有不同。)
我在v <- new (vec)
中运行代码modules.R
时遇到的错误如下
> library(testRcppmodule)
> v <- new(vec)
Error in .getClassFromCache(Class, where, resolve.msg = resolve.msg) :
object 'vec' not found
答案 0 :(得分:2)
您可以考虑使用更全面的示例在rcpp-devel上发帖。你上面所拥有的并不是真正的自足。
对于'do Modules work',我们提供了一个响亮的 Sure !! ,因为测试它们是
每个单元测试运行的一部分,请参阅test script使用此fully self-contained example package