1

我正在尝试运行测试功能,但出现编译错误:

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, code, language = language, verbose = verbose) 中的错误:编译错误,未创建函数/方法!另外:警告信息:运行命令'C:/PROGRA~1/R/R-215~1.1/bin/x64/R CMD SHLIB filede44a566900.cpp 2> filede44a566900.cpp.err.txt'状态为1

我会很感激你的帮助。我正在使用 Windows 7、R2.15.1、64 位

4

1 回答 1

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> 
于 2012-08-11T18:13:45.390 回答