代码之家  ›  专栏  ›  技术社区  ›  korsgaard

如何在c和fortran中使用renjinmaven插件

  •  0
  • korsgaard  · 技术社区  · 6 年前

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

    如果包裹在里面,仁金会帮你做的 https://cran.r-project.org/ 所以我知道这是可能的。我正在使用的软件包不在cran中。

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

    0 回复  |  直到 6 年前
        1
  •  1
  •   Per    6 年前

    renjin maven插件支持将c和fortran代码转换为JVM字节码。 renjin maven插件的这一部分实现了以下技巧:

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

    见mjkallens对类似问题的回答 here . 基本上你要做的就是

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

    我创造了一个 example on github