gpt4 book ai didi

ocaml - 我可以使用 OCamlBuild 生成可在没有 OCaml 库的计算机上运行的 native 可执行文件吗?

转载 作者:行者123 更新时间:2023-12-04 14:06:22 24 4
gpt4 key购买 nike

我有一个大型 OCaml 项目,正在使用 ocamlbuild 进行编译。一切正常,我有一个很棒的可执行文件,可以按我的意愿做任何事情。问题是,当我使用 native 可执行文件“my_prog.n​​ative”并在其他地方(具有相同操作系统的不同机器等)运行它时,新机器提示它找不到甘菊(用于电池我正在使用的库)。我认为我们从 ocamlbuild 获得的可执行文件是独立的,不需要 OCaml 或 Camomile 出现在我们运行它的机器中,但似乎并非如此。

关于如何生成真正独立的可执行文件的任何想法?

最佳答案

大多数 OCaml 代码是静态链接的。有两件事是动态链接的:

  • 使用字节码时的 C stub 库(也可能是 native 代码,尽管我不认为是这种情况)。这些是 dllfoo.so , 对应 libfoo.a .如果您有 libfoo.a ,我认为它会使用它而不是 dllfoo.so对于 native 代码。
  • 动态库依赖于运行时或 stub 库(例如 libclibgtk 使用的 lablgtk 等)。

  • 此外,Camomile 会动态加载它的一些 Unicode 数据,这是一种不属于标准 OCaml 链接的特殊情况。您必须查阅 Camomile 文档才能找到静态嵌入该数据的方法。

    关于ocaml - 我可以使用 OCamlBuild 生成可在没有 OCaml 库的计算机上运行的 native 可执行文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4168408/

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