OCaml - 将多个文件编译为一个可执行文件

时间:2015-03-23 16:37:54

标签: compilation ocaml

我在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"

1 个答案:

答案 0 :(得分:2)

只需使用:

ocamlbuild main.native

并使用

运行它
./main.native "sudoku.txt"