它并不是那么微不足道,毫无意外。下面是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`
注意的最后一行(I”用换行符分隔它):你可能不会有cp命令;只需手动创建%OCAMLLIB%\xml-light
目录并在那里复制列出的文件。然后你就可以建立你的项目是这样的:
ocamlopt -I +xml-light xml-light.cmxa foo.ml -o foo.exe
@barti:你帮我再......反正,还有一件事不能到目前为止完成。当我把这个文件放到我的项目文件夹中时,我想用'open xml ;;'来打开这个文件,为什么它给了我一个错误信息:'错误:xml.cmi不是一个已编译的接口',什么我在这里错过了吗? – zfm 2011-05-05 16:32:16
@zfm:我已经更新了答案(参见'make install'部分) – 2011-05-05 16:47:56
@barti:在IDE上没有办法做到这一点吗?当我使用IDE并键入'open xml ;;'或任何其他文件时,我使用'Camelia'并且发生错误 – zfm 2011-05-05 16:54:22