Это не так тривиально, ничего удивительного.Вот вывод make
(из дистрибутива mingw / cygwin ocaml):
ocamlyacc xml_parser.mly
ocamlc xml.mli
ocamlc dtd.mli
ocamlc xml_parser.mli
ocamlc -c xml_parser.ml
ocamllex xml_lexer.mll
ocamlc xml_lexer.mli
ocamlc -c xml_lexer.ml
ocamlc -c dtd.ml
ocamlc xmlParser.mli
ocamlc -c xmlParser.ml
ocamlc -c xml.ml
ocamlc -o xml-light.cma -a xml_parser.cmo xml_lexer.cmo dtd.cmo xmlParser.cmo xml.cmo
И тест:
ocamlc xml-light.cma test.ml -o test.exe
make install
вывод:
ocamlopt -c xml_parser.ml
ocamlopt -c xml_lexer.ml
ocamlopt -c dtd.ml
ocamlopt -c xmlParser.ml
ocamlopt -c xml.ml
ocamlopt -o xml-light.cmxa -a xml_parser.cmx xml_lexer.cmx dtd.cmx xmlParser.cmx xml.cmx
cp xml-light.cmxa xml-light.a xml-light.cma xml.mli xmlParser.mli dtd.mli xml.cmi xmlParser.cmi dtd.cmi xml.cmx dtd.cmx xmlParser.cmx `ocamlc -where`
Обратите внимание на последнюю строку (я разделил ее новой строкой): у вас, вероятно, не будет команды cp;просто создайте каталог %OCAMLLIB%\xml-light
вручную и скопируйте туда перечисленные файлы.Тогда вы можете построить свой проект так:
ocamlopt -I +xml-light xml-light.cmxa foo.ml -o foo.exe