2

所以基本上我正在尝试使用 Opam 在我的 Mac 上安装派生库。

opam install deriving

我用ocamlfind query了,好像安装成功了。

#ocamlfind query deriving                                                                                                 
/Users/shuai/.opam/system/lib/deriving 

安装后,我尝试使用 ocamlbuild 编译一个简单的代码,如下所示:

type stackop = PUSH | POP deriving (Show, Enum)

let s = PUSH in
  let s' = Show.show<stackop> s in 
    print_string s'

这是 _tags 文件:

<*> : package(unix), package(deriving)

这是命令:

ocamlbuild -use-ocamlfind exp.native

但是,我总是收到此错误:

+ ocamlfind ocamldep -package unix -package deriving -modules exp.ml > exp.ml.depends
File "exp.ml", line 1, characters 27-28:
Error: Syntax error
Command exited with code 2.
Compilation unsuccessful after building 1 target (0 cached) in 00:00:00.

这很奇怪,我相信语法是正确的..

谁能给我一些帮助?

4

1 回答 1

3

看来您忘记提供deriving.syntax包裹了。

使用以下_tags文件:

true: syntax(camlp4o)
true: package(deriving,deriving.syntax)
true: thread,debug,annot
true: bin_annot
于 2014-04-23T20:08:48.430 回答