无法集成任人的Rcpp软件包

问题描述

我正在尝试将r代码集成到Java中,并想在r代码中使用c ++代码,但是出现以下错误。

“ org.renjin.eval.EvalException:无法解析本机方法 包“ Rcpp”中的“ sourceCppContext””

在运行我的Java代码时。

我的Java代码片段:

r.eval(String.format("source(\"" + appdir +  "/config/MyRscript.R\")"));
String rS = ((SEXP)r.eval("test("+i+")")).toString();

R代码:

library(Rcpp)
sourceCpp("Rfunction.cpp")

test <- function(a) {
   x <<- timesTwo(a)
   print(x)
}

C ++代码:

#include <Rcpp.h>
using namespace Rcpp;

int timesTwo(int x) {
    return x * 2;
}

解决方法

Renjin不支持,并且可能无法合理地支持sourceCpp()。您需要将C ++代码移动到可以在构建时将其编译为JVM字节码的程序包中,或者用R或Java重写。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...