0

我正在尝试将 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();

代码:

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;
}
4

1 回答 1

2

Renjin 没有,也可能无法合理地支持 sourceCpp()。您需要将 C++ 代码移动到可以在构建时编译为 JVM 字节码的打包位置,或者用 R 或 Java 重写。

于 2020-09-09T17:21:27.163 回答