加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

错误:Ocaml中的未绑定模块Unix

发布时间:2020-12-15 21:05:57 所属栏目:安全 来源:网络整理
导读:我在2天前开始使用Ocaml编程,我已经完成了基本的工作,我想开始尝试创建进程. 在我使用的书中告诉我使用Unix模块,到目前为止这么好…… 但是当我尝试运行打印时间的简单代码时,我收到此错误: open Unix ;;let t = Unix.localtime (Unix.time ());;Printf.pri
我在2天前开始使用Ocaml编程,我已经完成了基本的工作,我想开始尝试创建进程.

在我使用的书中告诉我使用Unix模块,到目前为止这么好……
但是当我尝试运行打印时间的简单代码时,我收到此错误:

open Unix ;;
let t = Unix.localtime (Unix.time ());;


Printf.printf "Today is day %d of the current year.n" t.tm_yday ;;

我收到这个错误:

错误:未绑定的模块Unix

我搜索了一个答案,我发现我应该用“unix.cma”链接编译我的代码,之后我能够编译,但代码什么也没做.

我知道这可能是一个非常无聊的问题,但如果没有这个问题我就无法继续下去.
图书馆遗失了吗?

如果我在顶级运行它会说#load是和未绑定的值!

感谢您的时间!

编辑:

我用“unix.cma”链接重新编译它,并获得了同样的错误:
错误:未绑定的模块Unix

可能是图书馆问题?

我做了ocamlc -where,一切看起来都很好,这意味着所有常用的库都在PATH中,包括unix.cma

解决了

这完全是由于Ocaml安装不当造成的.谢谢杰弗里斯科菲尔德

解决方法

它适用于我.这是一个顶级会话(Mac OS X 10.8.2):

$ocaml
        OCaml version 4.00.0

# #load "unix.cma";;
# open Unix;;
# let t = Unix.localtime (Unix.time ());;
val t : Unix.tm =
  {tm_sec = 39; tm_min = 27; tm_hour = 16; tm_mday = 3; tm_mon = 11;
   tm_year = 112; tm_wday = 1; tm_yday = 337; tm_isdst = false}
# Printf.printf "Today is day %d of the current year.n" t.tm_yday;;
Today is day 337 of the current year.
- : unit = ()
#

这是与编译器的会话:

$cat doy.ml
open Unix

let t = Unix.localtime (Unix.time ());;

Printf.printf "Today is day %d of the current year.n" t.tm_yday
$ocamlc -o doy unix.cma doy.ml
$doy
Today is day 337 of the current year.

如果这些不适合您,我唯一的理论是您的OCaml安装不完整.你使用什么类型的系统?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读