我认为绿洲是用来构建ocaml项目的常用的autoconf工具链的一种方式,我非常喜欢这种方法。
不幸的是,我不得不将我的项目与不同系统上的C库联系起来,所以我需要弄清楚这个库实际上在哪里。在我的dev系统上,以下设置工作:
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添加一个标志,它请求库路径并相应地设置一个绿洲变量(基本上类似于autoconf)。我该怎么做?
作为一个额外的问题:我如何测试链接与此路径的连接,以提供早期的保释(比如配置-脚本),而不是一个ocamlbuild错误?
第二个好处是:我如何调用pkg-config来实现这一点?
发布于 2014-04-17 14:03:01
我认为目前在oasis中没有简单的方法可以做到这一点,但是pkg-config集成正在进行中,并且泛型参数传递是一个经常被请求的特性,所以希望有一天它将被支持(补丁欢迎!)另一方面,要求库的用户设置环境,以便链接器可以使用库,我听起来不太严格,特别是考虑到库也应该在运行时可用。
https://stackoverflow.com/questions/23106324
复制相似问题