OCaml:编译多个文件时出现未绑定模块错误
OCaml: Unbound module error when compiling multiple files
所以我正在用 OCaml 编写一个多文件程序,我的目录结构如下所示:
src
|- module1.ml
|- section1
|- module2.ml
|- module3.ml
其中module1打开module2和module3,module2打开module3。
我用以下代码编译程序:
ocamlopt -o bin/myprog src/module1.ml src/section1/module2.ml src/section1/module3.ml
它在 module2.ml 中抛出错误,说模块 3 未绑定。
有人知道为什么会这样吗?
首先,请注意 .cmx 和 .ml 参数在命令行中的显示顺序是相关的。这意味着 module1 似乎同时使用 module2 和 module3 应该在最后一个位置而不是首先就像你在这里所做的那样。
您还需要添加 -I directory
选项以将给定目录添加到搜索目录列表中。
这应该可以完成工作:
ocamlopt -o bin/myprog -I src/section1 src/section1/module3.ml src/section1/module2.ml src/module1.ml
所以我正在用 OCaml 编写一个多文件程序,我的目录结构如下所示:
src
|- module1.ml
|- section1
|- module2.ml
|- module3.ml
其中module1打开module2和module3,module2打开module3。
我用以下代码编译程序:
ocamlopt -o bin/myprog src/module1.ml src/section1/module2.ml src/section1/module3.ml
它在 module2.ml 中抛出错误,说模块 3 未绑定。
有人知道为什么会这样吗?
首先,请注意 .cmx 和 .ml 参数在命令行中的显示顺序是相关的。这意味着 module1 似乎同时使用 module2 和 module3 应该在最后一个位置而不是首先就像你在这里所做的那样。
您还需要添加 -I directory
选项以将给定目录添加到搜索目录列表中。
这应该可以完成工作:
ocamlopt -o bin/myprog -I src/section1 src/section1/module3.ml src/section1/module2.ml src/module1.ml