相关疑难解决方法(0)

在OCaml中放置共享实用程序模块的位置?

我有一个文件Tools.ml,其中包含我自己编写的一些常用实用程序函数.在.../Code/我有几个文件夹,每个文件夹包含一个项目.我的问题是我应该放置这个Tools.ml,以便所有文件夹和文件.../Code/可以共享此模块Open Tools.

希望我的问题很清楚......有没有人有一个好的解决方案?

编辑1:关注 @ gasche的回答,我写tools.ml了如下:

module Tools =
  struct
    let a_function = ...
    ...
  end
Run Code Online (Sandbox Code Playgroud)

然后我编译了它,并ocamlfind install tools META tools.cmo tools.cmx tools.ml按照建议完成,看起来很顺利.然后我写test.ml了如下:

open Tools

let f = Tools.a_function
Run Code Online (Sandbox Code Playgroud)

然后我编译了它ocamlc test.ml -o test,然后我得到一个错误:

File "test.ml", line 1, characters 0-1:
Error: Error while linking test.cmo:
Reference to undefined global `Tools'
Run Code Online (Sandbox Code Playgroud)

谁能告诉我发生了什么?

ocaml module

12
推荐指数
1
解决办法
1134
查看次数

标签 统计

module ×1

ocaml ×1