我有一个使用 ocamlbuild 成功构建的项目。但是,我还想要一种简单的方法来通过顶层与来自不同模块的项目的各个功能进行交互,但是我使用 ocamlmktop 的尝试并没有达到我想要的效果。我发现除非我手动将 .cmi 文件放在活动目录中,否则我会收到“未绑定模块”错误。我目前用来构建的命令是:
ocamlfind ocamlmktop -I _build -o my_ocaml -linkpkg -package str module1.cmo module2.cmo
有没有更好、更简单的方法来让顶层在这个项目结构中工作,而无需将 cmi 文件移出 _build 目录?
编辑:我发现如果我将顶层运行为
./my_ocaml -I _build
但这似乎仍然很老套。有没有办法烘焙搜索路径或 cmi 文件?
编辑 2:考虑到接口文件的限制,我认为解决我的问题的方法实际上可能根本不编译自定义顶层。相反,我在我的 .ocamlinit 中添加了加载指令以使用这些模块。如果有人有更好的想法来解决这个问题,我将不胜感激。