【发布时间】:2026-02-20 19:35:01
【问题描述】:
我认为 oasis 是一种替代用于构建 ocaml 项目的常用 autoconf 工具链的方法,我非常喜欢这种方法。
不幸的是,我必须将我的项目与不同系统上的 C 库链接起来,因此我需要弄清楚该库的实际位置。在我的开发系统上,以下设置有效:
Executable e2bench
Path: .
CompiledObject: best
BuildTools: ocamlbuild
BuildDepends: e2lang, core, core_bench
CCLib: -ltnp -L/home/choeger/local/lib/
DllLib: libtnp
DllPath: /home/choeger/local/lib
MainIs: e2bench.ml
但显然(即使我不知道为什么;)),并不是每个人都会将库安装到 /home/choeger/local - 所以我基本上需要在 setup.ml 中添加一个标志来询问库路径并相应地设置一个 oasis 变量(几乎类似于 autoconf)。我该怎么做?
作为一个额外的问题:我如何测试针对此路径的链接以提供早期救助(如配置脚本)而不是 ocamlbuild 错误?
第二个好处:我如何调用 pkg-config 来实现这一点?
【问题讨论】:
标签: build dependencies ocaml