我使用以下步骤来实现我自己的包:
1)我尝试编写一个非常简单的函数如下:
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
int foo() {
return 6;
}
2)我用骨架把它做成一个包:
Rcpp.package.skeleton("newpackage",example_code=FALSE,cpp_files=c("New.cpp"))
3)我用命令运行cpp:
source("~/newpackage/src/New.cpp")
4)运行compileAttributes加载包:
compileAttributes(pkgdir="/home/tw72/newpackage",verbose = getOption("verbose"))
在此之后,我想在 R 中调用该函数:
foo <- function( )
{
.Call("foo",PACKAGE="newpackage")
}
那么错误是:
Error in .Call("foo", PACKAGE = "newpackage") :
“foo”不适用于 .Call() 包“newpackage”
我遇到了同样的问题,但我仍然无法弄清楚会发生什么。你可以帮帮我吗?我的上述步骤有什么问题?谢谢。