rcpp - 无法集成 renjin 的 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();
代码:
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 重写。
推荐阅读
- python-3.x - 合并 GDML 文件
- python - pytorch DataLoader 第一个时期极慢
- typescript - 是否可以为多类型参数类/函数的多个参数创建类型别名?
- seaborn - 如何在 seaborn pairplot 中添加细节
- java - 需要有关 Java 中通配符泛型类型的帮助
- spring-boot - Thymeleaf 和 Spring Boot 中的错误处理
- javascript - 使用 jQuery 的 .load() 返回更新 IMG SRC 值
- python - 从 PDF 每一页的表格中提取数据,并将所有数据附加到一个数据框中?
- java - 我想在 java 中打印制表符空间。println("\t") 不起作用
- loops - Haskell 的 EitherT 怎么了?