我正在尝试运行测试函数但是我收到了编译错误:
library(Rcpp)
library(inline)
testfun = cxxfunction(
signature(x="numeric", i="integer"),
body = '
NumericVector xx(x);
int ii = as<int>(i);
xx = xx * ii;
return( xx );
', plugin="Rcpp")
testfun(1:5, 3)
compileCode出错(f,代码,语言=语言,详细=详细): 编译错误,未创建的功能/方法! 另外:警告信息: 运行命令'C:/PROGRA~1/R/R-215~1.1/bin/x64/R CMD SHLIB filede44a566900.cpp 2&gt; filede44a566900.cpp.err.txt'状态为1
我很感激你的帮助。我使用的是Windows 7,R2.15.1,64位
答案 0 :(得分:1)
尝试添加verbose=TRUE
,因为您似乎有一个简单的设置问题 - 也许您的PATH不正确。
你的代码是正确的,在Linux下运行得很好(在Windows上不需要额外的体操)。
从我的Emacs ESS缓冲区复制的略微编辑/缩进的示例:
R> library(inline)
R>
R> testfun <- cxxfunction(signature(x="numeric", i="integer"), body = '
+ NumericVector xx(x);
+ int ii = as<int>(i);
+ xx = xx * ii;
+ return( xx );
+ ', plugin="Rcpp")
R>
R> testfun(1:5, 3)
[1] 3 6 9 12 15
R>