我正在尝试将ocamlfind与OCaml编译器和顶层一起使用。据我所知,我需要将所需的库放在项目根目录的_tags文件中,以便ocamlfind工具可以处理它们的加载-允许我像下面这样在我的模块中打开它们:
open Sdl
open Sdlvideo
open Str
目前,我的_tags文件如下所示:
<*>: pkg_sdl,pkg_str
显然,我可以使用ocamlc或ocamlopt参数启动ocamlfind命令,前提是我不想编译我的项目,但是我看不到以相同方式启动顶层的选项。有什么方法可以做到这一点(例如“
ocamlfind ocaml
”)?我也不知道如何将项目特定的模块放置在_tags文件中:假设我有一个名为Land的模块。我当前正在使用
#use "land.ml"
指令打开文件并加载模块,但是建议这不是一个好习惯。我应该在_tags中使用哪种语法来指定应由ocamlfind加载(考虑到land.ml不在ocamlfind搜索路径中)?谢谢,
查理·P。
编辑:根据这篇文章的第一个答案,_tags文件不能与ocamlfind一起使用。上面的问题仍然存在,列表中只有一个新问题:指定要分配给ocamlfind的库的正确方法是什么?
最佳答案
试试这个:
$ cat >> .ocamlinit
#use "topfind";;
#require "sdl";;
#require "sdlvideo";;
open Sdl
open Sdlvideo;;
open Str;;
.ocamlinit
来自当前目录,回退到/home/user/.ocamlinit
。您可以通过ocaml -init <filename>
显式覆盖它