我是 Ocaml 编程的完整初学者,我无法将模块链接到我的程序中。实际上,我正在做一些正则表达式检查,并且我编写了一个函数,该函数基本上使用 Str module 根据分隔符字符串对字符串进行标记。 .所以我使用库中定义的函数,如下所示:
Str.regexp_string /*and so on*/
但是,当我尝试编译 ml 文件时,我收到一个错误,提示我有一个未定义的全局 力量 .我们通过键入 List.length 等来使用 List 函数,就像我对 Str 所做的那样,而不必显式包含特定模块。我试过
open Str;;
include Str;; /*None of these work and I still get the same error*/
但是,如果在顶层我使用
load "str.cma" /*Then the program works without problems*/
我想将模块包含在 ml 文件中,因为我必须最后链接 3 cmo 才能获得最终的可执行文件(不在顶层运行)。我知道这是一个非常基本的问题,但我无法解决它。提前致谢。
最佳答案
只需添加 str
到libraries
您的 dune
的字段文件。
关于string - ocaml 中的错误链接模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15971941/