Включите комплект батарей в make-файл для Ocaml
Я хотел бы использовать функции модуля List
Аккумуляторы Ocaml. Я установил батареи, и тривиальный код из Приступая к работе работает с 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
?
1 ответ
Изменение команды компиляции недостаточно. Вы должны добавить, например, open Batteries_uni
в начале файлов, где вы хотите использовать список батарей.