【问题标题】:Fail to link to standard library of Ocaml-java (or Cafesterol)无法链接到 Ocaml-java(或 Cafesterol)的标准库
【发布时间】:2014-01-04 14:17:13
【问题描述】:

我是 Ocaml-java(或 Cafesterol)的新用户,它将原始 Ocaml 程序编译为允许在 JVM 上运行的可执行 jar。但是,当我尝试将测试程序编译成可执行 jar 时,我得到如下错误信息:

>java -jar ~/ocaml-project/ocamljava-bin-1.4/bin/ocamljava.jar -standalone regexdna.ml -o         regexdna.jar
File "regexdna.ml", line 1, characters 0-1:
Error: No implementations provided for the following modules:
     Str referenced from regexdna.cmj
     Unix referenced from regexdna.cmj

Ocaml-java 中似乎缺少模块 Str 和 Unix。但是,当我安装 Ocaml-java 时,str.jar 和 unix.jar 确实存在于 ~/ocaml-project/ocamljava-bin-1.4/lib/others/ 下,并且在这些 jar 中我们确实有 Str.class 和 Unix.class。 (我假设这个目录在Ocaml-java标准库的路径上,所以应该包含在默认搜索路径中)

任何 Ocaml-java 用户可以告诉我 Ocaml-java 是如何搜索依赖库的吗?

【问题讨论】:

    标签: jar compilation ocaml standard-library


    【解决方案1】:

    引用 Xavier Clerc 的话:

    它应该可以工作,但你必须明确地传递引用的 库(就像在香草 OCaml 中一样)。在你的情况下导致:

    $ /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java -jar ~/opt/ocamljava-2.0-early-access9/lib/ocamljava.jar str.cmja regexdna.ml
    

    请注意,我使用的是最新的 ocamljava 预览版。

    【讨论】:

      猜你喜欢
      • 2014-12-01
      • 2018-02-10
      • 1970-01-01
      • 1970-01-01
      • 2013-09-19
      • 2017-05-30
      • 1970-01-01
      • 1970-01-01
      • 2012-02-12
      相关资源
      最近更新 更多