簡體   English   中英

未綁定模塊標准庫

[英]Unbound Module Stdlib

我正在嘗試使用 ocamlc 構建代碼,但是出現錯誤Error: Unbound module Stdlib

/usr/lib/ocaml/目錄包含如下stdlib.a stdlib.cma stdlib.cxma stdlib.pa stdlib.p.cxma

OCaml 版本:4.05.0

標准庫最近從 Pervasives 重命名為 Stdlib。 您的編譯器來自更改之前; 即,4.05.0 編譯器有一個 Pervasives 模塊而沒有 Stdlib 模塊。 您嘗試編譯的代碼很可能來自更改之后。

通常沒有理由提及標准庫的名稱,因為它“無處不在”。 所以你可以嘗試刪除“Stdlib”。 無論你在哪里看到它。 或者您可以嘗試將其重命名為“Pervasives”。

但是,如果代碼比 4.05.0 編譯器更新得多,您可能會遇到其他問題。

Stdlib模塊是在 4.07.0 中引入的。 在此之前,它被稱為Pervasives 看起來您正在混合安裝。

一些可能有助於解開它的命令:

  • which ocamlc會告訴你編譯器的位置。
  • ocamlc -config會告訴您標准庫的位置。

還強烈建議使用opam (OCaml 包管理器)來管理 OCaml 安裝,因為它允許您在多個安裝之間切換,並在發布后立即訪問最新的編譯器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM