好的,所以我创建了一个带有函数Rcpp.package.skeleton
的R包 foo 。我还用
R CMD SHLIB foo/src/rcpp_hello_world.cpp
然而,当我致电rcpp_hello_world
时,我收到错误:
> source("foo/R/rcpp_hello_world.R")
> rcpp_hello_world()
Error in .Call("rcpp_hello_world", PACKAGE = "foo") :
"rcpp_hello_world" not available for .Call() for package "foo"
任何线索?
答案 0 :(得分:6)
“包骨架”意味着您应该跟随(简单的,骨架)包的创建(可选)构建包(到tar中)。 gz)以及安装它。
安装 后,您可以加载,然后您可以实际执行新功能。
或者,您可以通过Rcpp属性和/或内联包进行操作。
答案 1 :(得分:1)
运行" hello world"例如,执行以下操作:
启动R并通过以下方式安装Rcpp软件包:
install.packages(' RCPP&#39)
在R:
中生成Rcpp模板Rcpp.package.skeleton(" mypackage的&#34)
接下来,为包创建一个存档:
R CMD构建mypackage
退出R.你应该看到一个文件夹" mypackage"产生。键入以下内容以检查包:
R CMD检查mypackage
现在,您将看到存档mypackage_1.0.tar.gz
。安装它:
R CMD安装mypackage_1.0.tar.gz
让我们在R. Start R中运行包并执行以下操作:
库(' mypackage的&#39)
rcpp_hello_world()#尝试在模板中生成的C ++函数
[[1]] [1]" foo" "杆"
[[2]] [1] 0 1