OCaml中的编译错误

OCaml中的编译错误,ocaml,Ocaml,我是OCaml的新手,不知道如何编译: 我有一个迷宫。mli: type is = bool type ouverte = bool type case = (is) type porte = (ouverte * case * case) type lab = (case * porte * porte * porte * porte) val crea

我是OCaml的新手,不知道如何编译:

我有一个迷宫。mli:

type is                 = bool
type ouverte            = bool

type case               = (is)
type porte              = (ouverte * case * case)
type lab                = (case * porte * porte * porte * porte)

val create_case         : is -> case
val create_porte        : ouverte -> case -> case -> porte
val create_lab          : case -> porte -> porte -> porte -> porte -> lab
这个main.ml:

let c1          = Labyrinthe.create_case false
let c2          = Labyrinthe.create_case false
let c3          = Labyrinthe.create_case false
let c4          = Labyrinthe.create_case false
let case        = Labyrinthe.create_case true

let p1          = Labyrinthe.create_porte false case c1
let p2          = Labyrinthe.create_porte false case c2
let p3          = Labyrinthe.create_porte false case c3
let p4          = Labyrinthe.create_porte false case c4

let lab         = Labyrinthe.create_lab case p1 p2 p3 p4
我像这样编译了两个文件:ocamlopt labrinthe.mli main.ml,但它不起作用

我有以下消息错误:文件“main.ml”,第1行: 错误:没有为以下模块提供实现: 从main.cmx引用的迷宫

我在互联网上找到的所有东西都试过了,但都没用:(
有人能帮我吗?

您没有为迷宫接口提供实现。没有实现,您无法创建可执行文件。毕竟,当您在main中调用例如,
create\u case
时,应该执行什么代码


如果需要单独编译,可以使用
-c
标志创建一个目标文件。然后可以将该目标文件与包含迷宫实现的目标文件链接,以创建可执行文件。

您没有为迷宫接口提供实现。没有实现,您无法创建可执行文件。毕竟,当您调用main中的
create\u case
时,应该执行什么代码


如果需要单独编译,可以使用
-c
标志创建一个对象文件。然后,可以将该对象文件与包含迷宫实现的对象文件链接,以创建可执行文件。

要创建可执行文件还是对象文件?我想创建可执行文件,但我想知道如何创建o你想创建一个可执行文件还是一个对象文件?我想创建一个可执行文件,但我也想知道如何创建一个对象文件