我在prog.ml中找到了它:
#require "batteries";;
#require "Base";;
open Base;;
open Batteries;;
...
当我尝试编译时:
ocamlc prog.ml -o prg
它返回以下错误:
1 | #require“ batteries” ;;
^ Error: Syntax error
什么是编译程序的正确命令?
答案 0 :(得分:2)
以#directive
开头的行仅在顶层有意义。它们不是OCaml实际语法的一部分。他们只是告诉高层执行在交互式会话中有用的各种操作。
如果要编译代码(而不是在顶层与之交互),则只需确保模块可供编译器访问。您可以使用精美的构建系统,也可以使用-I
标志来告诉编译器在哪里寻找模块。
(当然,您还必须从源代码中删除#directive
行。)