gpt4 book ai didi

unix - Ocaml 找不到 Unix 模块

转载 作者:行者123 更新时间:2023-12-01 05:14:49 25 4
gpt4 key购买 nike

我使用以下步骤在 OS X 上(重新)安装了 Ocaml:

> brew uninstall ocaml
> brew uninstall opam
> brew install ocaml
> brew install opam
> opam init
> eval `opam config env`
> opam switch 4.02.1
> opam install batteries core

然后我尝试编译这个程序:
open Unix
open Printf

let main () =
match fork () with
| 0 -> printf "child\n"
| pid -> printf "parent\n"

let _ = main ()

我使用这个命令编译:
ocamlc -o fork fork.ml

但我收到一个错误:
File "fork.ml", line 1:
Error: Error while linking fork.cmo:
Reference to undefined global `Unix'

事实上,我在重新安装之前遇到了这个错误;这就是为什么我首先重新安装。但问题仍然存在,我不知道如何解决它。

最佳答案

unix库默认情况下不链接,因此您需要传递一些链接标志,以使其工作,例如,

 ocamlc unix.cma fork.ml -o fork

如果您不想了解 cma , 你可以使用 ocamlbuild , 而不是 ocamlc:
 ocamlbuild -lib unix fork.native

或者更一般的
 ocamlbuild -pkg unix fork.native

后者(带有 pkg 选项)将是首选方式,因为它允许您指定使用 opam 安装的任何软件包.例如,如果您曾经尝试使用 lwt ,您可以将其链接到
 ocamlbuild -pkg lwt fork.native

关于unix - Ocaml 找不到 Unix 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30035989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com