gpt4 book ai didi

ocamlmktop 与 oasis

转载 作者:行者123 更新时间:2023-12-01 04:02:33 25 4
gpt4 key购买 nike

我在向 ocamlmktop 添加库时遇到问题。

我有一个目录 com,其中有一个目标文件 com/com.cma。

如果我运行 ocamlmktop com.cma -o 顶部 在 com 目录中,然后生成的可执行文件顶部似乎有库;即,我可以输入“Com.foo;;”它将在模块 Com 中给出 foo 的类型签名。

但是,如果我运行 ocamlmktop com/com.cma -o 顶部 在 com 上面的目录中,则生成的可执行文件似乎没有库;即,它响应“Com.foo;;”带有“错误:未绑定(bind)的模块 Com”。

有没有办法包含来自不同文件夹的库,还是我需要将所有 .cma 文件放在同一个文件夹中?

另外,我正在使用 OASIS 构建系统;我可以通知 OASIS 我想要这些库的顶层吗?

编辑:

我找到了部分解决方案:ocamlc -pack a/a.cmo b/b.cmo -o Everything.cmo,然后是 ocamlmktop Everything.cmo -o top;但是,这需要复制所有库并强制它们成为单个 super 模块的子模块。

最佳答案

不能使用上面目录中的toplevel 的原因是toplevel 不包含接口(interface)文件(.cmi),当用户访问某个模块时,toplevel 需要在磁盘上找到它们。所以,要么用 -I com 加载顶层。切换或加载后问题 #directory "com";; .

NB OASIS 应该支持在下一个版本(0.4.0)中本地构建顶层。

关于ocamlmktop 与 oasis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12467734/

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