1

我正在尝试使用“Renjin Maven 插件”将 R 包转换为可以在 java 中与 renjin 一起使用的 jar。这里有一个描述:http: //docs.renjin.org/en/latest/writing-renjin-extensions.html#renjin-maven-plugin 关于如何创建项目,我已经设法创建它并构建了一个jar 与 r 文件转换,但我看不到如何包含 c 和 fortran 文件。

如果包在https://cran.r-project.org/中,Renjin 会为你做这件事,所以我知道这是可能的。不幸的是,我正在使用的包不在 cran 中。

我尝试将 c 文件包含在 src/main/R 文件夹中,并尝试将其放入 src/main/c 文件夹中,但在这两种情况下它们都被忽略了。

4

1 回答 1

1

renjin-maven-plugin 支持将 c 和 fortran 代码转换为 JVM 字节码。renjin-maven-plugin 的这一部分可以解决问题:

 <execution>
        <id>gnur-compile</id>
        <phase>compile</phase>
        <goals>
            <goal>gnur-compile</goal>
        </goals>
 </execution>

在此处查看 mjkallens 对类似问题的回答。基本上你所做的是

  1. 下载最新版ctsmr的源代码
  2. 解压到选择的目录
  3. 添加一个调用 renjin maven 插件的 pom.xml 文件
  4. 添加一个类似于用于构建 Renjin 项目本身的 Vagrant 文件以获得正确版本的 gcc 等,以便 renjin maven 插件可以处理 c 和 fortran 源。
  5. 启动 vagrant 并运行 mvn clean install

在 github 上创建了一个示例,它应该会给你一些关于细节的想法。

于 2019-11-03T09:58:47.243 回答