2

我想使用Ocaml Batteries模块List的功能。我已经安装了电池,入门中的一个简单代码可用于ocamlfind ocamlc -package batteries -linkpkg euler001.ml -o euler001.

现在回到我的项目,我有一个makefile如下:

CMO=sib_lexer.cmo sib_parser.cmo sib_pp.cmo lattices.cmo abstract_interpreter.cmo main.cmo
GENERATED = sib_lexer.ml sib_parser.ml sib_parser.mli
BIN=Simpler-Basic
FLAGS= -g -annot

all: $(BIN)
    export OCAMLRUNPARAM=b
    ./$(BIN) test.sib -a zone

$(BIN):$(CMO)
    ocamlc $(FLAGS) -o $(BIN) graphics.cma $(CMO)

.SUFFIXES: .mli .ml .cmi .cmo .mll .mly

.mli.cmi:
    ocamlc $(FLAGS) -c $<

.ml.cmo:
    ocamlc $(FLAGS) -c $<

.mll.ml:
    ocamllex $<

.mly.ml:
    menhir -v $<

.mly.mli:
    ocamlyacc -v $<

clean:
    rm -f *.cm[io] *.o *~ $(BIN) $(GENERATED) sib_parser.output

.depend depend:$(GENERATED)
    rm -f .depend #3
    ocamldep *.ml *.mli > .depend #4

include .depend

我试图用 替换所有ocamlc $(FLAGS)ocamlfind ocamlc -package batteries -linkpkg $(FLAGS)但它没有工作......

谁能告诉我如何修改makefile它以使其符合batteries

4

1 回答 1

1

改变编译命令是不够的。您需要open Batteries_uni在要使用电池列表的文件的开头添加例如。

于 2011-12-03T11:11:44.833 回答