【发布时间】:2015-05-26 18:11:31
【问题描述】:
我在 OCaml 中编写了一个数独求解器,我想为它创建一个可执行文件。
我有 3 个文件:board.ml、solver.ml 和 main.ml
board.ml 包含板的类型、读取文件的函数、检查有效性,...
solver.ml 包含解决给定数独的函数。 solver.ml 使用 board.ml 中的函数
main.ml 是一个程序,它使用 board.ml 和 solver.ml 中的函数来解决命令行参数提供的数独。
我不使用 .mli 文件,因为签名是在 .ml 文件中定义的,例如:
module Board :
sig
(* signature *)
end
=
struct
(* implementations *)
end
我已经能够使用 board.ml 中的所有代码来执行此操作,例如:
ocamlc board.mli board.ml main.ml -o sudoku_solver
最终结果应该是一个名为“sudoku_solver”的可执行文件,所以我可以这样做:
./sudoku_solver "sudoku.txt"
【问题讨论】:
-
你有什么问题?
-
我似乎无法使用
ocamlopt或ocamlc将这 3 个文件编译为单个可执行文件。 ivg 告诉我使用ocamlbuild main.native并且这有效,但它需要我在 Solver 和 main 中将Board.t更改为Board.Board.t以便我的代码不再在顶层工作。
标签: compilation ocaml