首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(Ocaml)错误:未绑定模块Ocamlbuild_pack.Ocamlbuild_Myocamlbuild_config

(Ocaml)错误:未绑定模块Ocamlbuild_pack.Ocamlbuild_Myocamlbuild_config
EN

Stack Overflow用户
提问于 2019-03-21 04:25:31
回答 1查看 164关注 0票数 0

我正在尝试编译一个ocaml程序(它的一部分如下所示)

代码语言:javascript
复制
open Ocamlbuild_plugin
open Command

(** helper functions )
( splitting strings using a delimeter character *)
let rec strsplit sep str accu len =
try let idx = String.rindex_from str (len - 1) sep in
strsplit sep str ((String.sub str (idx + 1) (len - 1 - idx)) :: accu) idx
with Not_found -> (String.sub str 0 len) :: accu
let strsplit sep str = strsplit sep str [] (String.length str)

(** initializing variables from the environment *)
let host = Ocamlbuild_pack.Ocamlbuild_Myocamlbuild_config.system

最后一行导致未绑定模块错误。我能做什么?谢谢

更新1:

代码来自github项目https://github.com/ykazakov/cb-reasoner

我正在按照那里的指示使用"make“来编译程序。这个让文件看起来像这样

代码语言:javascript
复制
BUILDDIR ?= _build
OCAMLBUILD ?= ocamlbuild
OCAMLBUILD := $(OCAMLBUILD) -build-dir $(BUILDDIR)

.PHONY: main clean clib

main:
    $(OCAMLBUILD) main/cb.native

all:
    $(OCAMLBUILD) main/cb.native jni cwrap/libcb.a

cwrap:  
    $(OCAMLBUILD) cwrap/libcb.a

jni:
    $(OCAMLBUILD) jni

clean: 
    $(OCAMLBUILD) -clean;\
    rm -f cb.native
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-21 13:30:10

我在ocamlbuild问题跟踪器上回答了这个问题(我跟踪StackOverflow,但不太密切,对不起)。为了方便起见,引用如下:

OCamlbuild作为Ocamlbuild_plugin模块为插件用户导出一个稳定的界面。使用Ocamlbuild_pack直接访问ocamlbuild的内部定义,并建议不要使用它,因为没有向后兼容性的保证。 在您的具体案例中,该代码使用了一个模块,在最近的ocamlbuild版本中确实删除了该模块(它的存在是ocamlbuild的构建系统集成到编译器发行版的特定方式的一个工件)。我可以用OCaml 3.12.1、4.00.1和4.01.0正确地构建这个软件,但不能使用OCaml和ocamlbuild的任何新版本。 使用opam可以方便地安装旧的OCaml版本: OpamInstall4.01.0val $(opam switch= 4.01.0 )在项目的目录中创建# if 如果您有兴趣修补此软件以使其与更新的OCaml版本兼容,我们可以讨论如何以更健壮的方式获取相应的信息。 无论如何,我要结束这个问题,因为这不是一个ocamlbuild问题,而是一个cb-推理者的维护问题。(当然,可以随意发表进一步的评论。)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55273787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档